diff --git a/lib/github_changelog_generator/generator/generator_fetcher.rb b/lib/github_changelog_generator/generator/generator_fetcher.rb index a96020b70..d9bf6e094 100644 --- a/lib/github_changelog_generator/generator/generator_fetcher.rb +++ b/lib/github_changelog_generator/generator/generator_fetcher.rb @@ -1,5 +1,4 @@ # frozen_string_literal: true - module GitHubChangelogGenerator class Generator MAX_THREAD_NUMBER = 25 @@ -49,18 +48,22 @@ def detect_actual_closed_dates(issues) end # Fill :actual_date parameter of specified issue by closed date of the commit, if it was closed by commit. + # Or by merged_at, if that info exists. # @param [Hash] issue def find_closed_date_by_commit(issue) - unless issue["events"].nil? - # if it's PR -> then find "merged event", in case of usual issue -> fond closed date - compare_string = issue["merged_at"].nil? ? "closed" : "merged" - # reverse! - to find latest closed event. (event goes in date order) - issue["events"].reverse!.each do |event| - if event["event"].eql? compare_string - set_date_from_event(event, issue) - break + # in case of usual issue with no merge, find closed date. + if issue["merged_at"].nil? + unless issue["events"].nil? + # reverse! - to find latest closed event. (event goes in date order) + issue["events"].reverse!.each do |event| + if event["event"].eql? compare_string + set_date_from_event(event, issue) + break + end end end + else # if it's a PR, then go based on the merge event itself. + issue["actual_date"] = issue["merged_at"] end # TODO: assert issues, that remain without 'actual_date' hash for some reason. end
Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.
Alternative Proxies: