This commit is contained in:
Adam 2016-03-24 12:40:42 +00:00
parent 6a0ade1194
commit 61ec650801

View File

@ -131,10 +131,10 @@ module GitHubChangelogGenerator
# @param [Array] all_tags all tags # @param [Array] all_tags all tags
# @return [Array] filtered tags according :exclude_tags or :exclude_tags_regex option # @return [Array] filtered tags according :exclude_tags or :exclude_tags_regex option
def filter_excluded_tags(all_tags) def filter_excluded_tags(all_tags)
if (@options[:exclude_tags].is_a?(Regexp) || @options[:exclude_tags_regex]) if @options[:exclude_tags]
filter_tags_with_regex(all_tags) apply_exclude_tags(all_tags)
elsif @options[:exclude_tags] elsif @options[:exclude_tags_regex]
filter_exact_tags(all_tags) apply_exclude_tags_regex(all_tags)
else else
all_tags all_tags
end end
@ -142,16 +142,21 @@ module GitHubChangelogGenerator
private private
def filter_tags_with_regex(all_tags) def apply_exclude_tags(all_tags)
warn_if_nonmatching_regex(all_tags) if @options[:exclude_tags].is_a?(Regexp)
filter_tags_with_regex(all_tags, @options[:exclude_tags])
if @options[:exclude_tags] else
all_tags.reject { |tag| @options[:exclude_tags] =~ tag.name } filter_exact_tags(all_tags)
elsif @options[:exclude_tags_regex] end
regex = Regexp.new(@options[:exclude_tags_regex])
all_tags.reject { |tag| regex =~ tag.name }
end end
def apply_exclude_tags_regex(all_tags)
filter_tags_with_regex(all_tags, Regexp.new(@options[:exclude_tags_regex]))
end
def filter_tags_with_regex(all_tags, regex)
warn_if_nonmatching_regex(all_tags)
all_tags.reject { |tag| regex =~ tag.name }
end end
def filter_exact_tags(all_tags) def filter_exact_tags(all_tags)