summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDouglas Barbosa Alexandre <dbalexandre@gmail.com>2019-02-05 16:15:07 +0000
committerDouglas Barbosa Alexandre <dbalexandre@gmail.com>2019-02-05 16:15:07 +0000
commita14db4a22441a835758b0d50e37024606662d0e8 (patch)
tree0edef1d3d2e852c4ab4cd904f6a2e4335a335fec
parente37abfbb10c302963544b2aaaea286e807a6dd00 (diff)
parent787cbc89769a6d2f2568187cc987ba9308346c21 (diff)
downloadgitlab-ce-a14db4a22441a835758b0d50e37024606662d0e8.tar.gz
Merge branch 'ce-reduce-diff-in-search-global_service' into 'master'
Reduce diff with EE in Search::GlobalService See merge request gitlab-org/gitlab-ce!24914
-rw-r--r--app/services/search/global_service.rb14
1 files changed, 10 insertions, 4 deletions
diff --git a/app/services/search/global_service.rb b/app/services/search/global_service.rb
index cb1bf0a03a5..d6af26d949d 100644
--- a/app/services/search/global_service.rb
+++ b/app/services/search/global_service.rb
@@ -2,6 +2,8 @@
module Search
class GlobalService
+ include Gitlab::Utils::StrongMemoize
+
attr_accessor :current_user, :params
attr_reader :default_project_filter
@@ -19,11 +21,15 @@ module Search
@projects ||= ProjectsFinder.new(current_user: current_user).execute
end
- def scope
- @scope ||= begin
- allowed_scopes = %w[issues merge_requests milestones]
+ def allowed_scopes
+ strong_memoize(:allowed_scopes) do
+ %w[issues merge_requests milestones]
+ end
+ end
- allowed_scopes.delete(params[:scope]) { 'projects' }
+ def scope
+ strong_memoize(:scope) do
+ allowed_scopes.include?(params[:scope]) ? params[:scope] : 'projects'
end
end
end