Refactor Gitlab::ProjectSearchResults
Previously this class would be given a project ID which was then used to retrieve the corresponding Project object. However, in all cases the Project object was already known as it was used to grab the ID to pass to ProjectSearchResults. By just passing a Project instead we remove the need for an extra query as well as the need for some other complexity in this class.
This commit is contained in:
parent
42fde69d39
commit
ec349dc1b6
2 changed files with 4 additions and 8 deletions
|
@ -7,7 +7,7 @@ module Search
|
|||
end
|
||||
|
||||
def execute
|
||||
Gitlab::ProjectSearchResults.new(project.id,
|
||||
Gitlab::ProjectSearchResults.new(project,
|
||||
params[:search],
|
||||
params[:repository_ref])
|
||||
end
|
||||
|
|
|
@ -2,8 +2,8 @@ module Gitlab
|
|||
class ProjectSearchResults < SearchResults
|
||||
attr_reader :project, :repository_ref
|
||||
|
||||
def initialize(project_id, query, repository_ref = nil)
|
||||
@project = Project.find(project_id)
|
||||
def initialize(project, query, repository_ref = nil)
|
||||
@project = project
|
||||
@repository_ref = if repository_ref.present?
|
||||
repository_ref
|
||||
else
|
||||
|
@ -73,7 +73,7 @@ module Gitlab
|
|||
end
|
||||
|
||||
def notes
|
||||
Note.where(project_id: limit_project_ids).user.search(query).order('updated_at DESC')
|
||||
project.notes.user.search(query).order('updated_at DESC')
|
||||
end
|
||||
|
||||
def commits
|
||||
|
@ -83,9 +83,5 @@ module Gitlab
|
|||
project.repository.find_commits_by_message(query).compact
|
||||
end
|
||||
end
|
||||
|
||||
def limit_project_ids
|
||||
[project.id]
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue