implement #filter_excluded_tags_regex with regex exclude_tags
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user