implement #filter_excluded_tags_regex with regex exclude_tags

This commit is contained in:
Adam
2016-03-24 11:59:20 +00:00
parent 1bae4ea204
commit dd149d7ad9
2 changed files with 29 additions and 4 deletions

View File

@@ -131,9 +131,13 @@ module GitHubChangelogGenerator
# @param [Array] all_tags all tags
# @return [Array] filtered tags according :exclude_tags option
def filter_excluded_tags(all_tags)
return all_tags unless @options[:exclude_tags]
apply_exclude_tags(all_tags)
if @options[:exclude_tags]
apply_exclude_tags(all_tags)
elsif @options[:exclude_tags_regex]
apply_exclude_tags_regex(all_tags)
else
all_tags
end
end
private
@@ -146,9 +150,20 @@ module GitHubChangelogGenerator
end
end
def apply_exclude_tags_regex(all_tags)
filter_tags_with_regex(all_tags)
end
def filter_tags_with_regex(all_tags)
warn_if_nonmatching_regex(all_tags)
all_tags.reject { |tag| @options[:exclude_tags] =~ tag.name }
if @options[:exclude_tags]
all_tags.reject { |tag| @options[:exclude_tags] =~ tag.name }
elsif @options[:exclude_tags_regex]
regex = Regexp.new(@options[:exclude_tags_regex])
all_tags.reject { |tag| regex =~ tag.name }
end
end
def filter_exact_tags(all_tags)