diff options
author | tiagonbotelho <tiagonbotelho@hotmail.com> | 2016-08-31 12:35:23 +0100 |
---|---|---|
committer | tiagonbotelho <tiagonbotelho@hotmail.com> | 2016-08-31 19:16:47 +0100 |
commit | 97b69862ad50936ad0700b23c485a38b637469a7 (patch) | |
tree | 5a5ecf4da4105b7c7b2f1da96d65594ab7704ac6 /app/finders | |
parent | 6c9c33f43e489d9e225bc64342c7d7d0a558b1e7 (diff) | |
download | gitlab-ce-97b69862ad50936ad0700b23c485a38b637469a7.tar.gz |
add specs for tags findertag-name-filter
Diffstat (limited to 'app/finders')
-rw-r--r-- | app/finders/tags_finder.rb | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/app/finders/tags_finder.rb b/app/finders/tags_finder.rb new file mode 100644 index 00000000000..b474f0805dc --- /dev/null +++ b/app/finders/tags_finder.rb @@ -0,0 +1,29 @@ +class TagsFinder + def initialize(repository, params) + @repository = repository + @params = params + end + + def execute + tags = @repository.tags_sorted_by(sort) + filter_by_name(tags) + end + + private + + def sort + @params[:sort].presence + end + + def search + @params[:search].presence + end + + def filter_by_name(tags) + if search + tags.select { |tag| tag.name.include?(search) } + else + tags + end + end +end |