# 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