Context refactoring. Move Issues list, Search logic to context

This commit is contained in:
randx 2012-10-09 22:09:46 +03:00
parent 63fe042d97
commit 679d0d6d76
15 changed files with 100 additions and 83 deletions

View file

@ -0,0 +1,27 @@
class SearchContext
attr_accessor :project_ids, :params
def initialize(project_ids, params)
@project_ids, @params = project_ids, params.dup
end
def execute
query = params[:search]
return result unless query.present?
result[:projects] = Project.where(id: project_ids).search(query).limit(10)
result[:merge_requests] = MergeRequest.where(project_id: project_ids).search(query).limit(10)
result[:issues] = Issue.where(project_id: project_ids).search(query).limit(10)
result
end
def result
@result ||= {
projects: [],
merge_requests: [],
issues: []
}
end
end