class SearchContext

Attributes

params[RW]
project_ids[RW]

Public Class Methods

new(project_ids, params) click to toggle source
# File app/contexts/search_context.rb, line 4
def initialize(project_ids, params)
  @project_ids, @params = project_ids, params.dup
end

Public Instance Methods

execute() click to toggle source
# File app/contexts/search_context.rb, line 8
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
result() click to toggle source
# File app/contexts/search_context.rb, line 19
def result
  @result ||= {
    projects: [],
    merge_requests: [],
    issues: []
  }
end