Add due-tag option and tests
This commit is contained in:
@@ -91,6 +91,27 @@ module GitHubChangelogGenerator
|
||||
filtered_tags
|
||||
end
|
||||
|
||||
# @param [Array] all_tags all tags
|
||||
# @return [Array] filtered tags according :due_tag option
|
||||
def filter_due_tag(all_tags)
|
||||
filtered_tags = all_tags
|
||||
tag = @options[:due_tag]
|
||||
if tag
|
||||
if (all_tags.count > 0) && (all_tags.map(&:name).include? tag)
|
||||
idx = all_tags.index { |t| t.name == tag }
|
||||
last_index = all_tags.count - 1
|
||||
if idx > 0 && idx < last_index
|
||||
filtered_tags = all_tags[idx + 1..last_index]
|
||||
else
|
||||
filtered_tags = []
|
||||
end
|
||||
else
|
||||
Helper.log.warn "Warning: can't find tag #{tag}, specified with --due-tag option."
|
||||
end
|
||||
end
|
||||
filtered_tags
|
||||
end
|
||||
|
||||
# @param [Array] all_tags all tags
|
||||
# @return [Array] filtered tags according :between_tags option
|
||||
def filter_between_tags(all_tags)
|
||||
|
||||
@@ -119,6 +119,9 @@ module GitHubChangelogGenerator
|
||||
opts.on("--since-tag x", "Change log will start after specified tag") do |v|
|
||||
options[:since_tag] = v
|
||||
end
|
||||
opts.on("--due-tag x", "Change log will end before specified tag") do |v|
|
||||
options[:due_tag] = v
|
||||
end
|
||||
opts.on("--max-issues [NUMBER]", Integer, "Max number of issues to fetch from GitHub. Default is unlimited") do |max|
|
||||
options[:max_issues] = max
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user