summaryrefslogtreecommitdiff
path: root/lib/gitlab/file_finder.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/gitlab/file_finder.rb')
-rw-r--r--lib/gitlab/file_finder.rb17
1 files changed, 9 insertions, 8 deletions
diff --git a/lib/gitlab/file_finder.rb b/lib/gitlab/file_finder.rb
index 3958814208c..ec9d2df613b 100644
--- a/lib/gitlab/file_finder.rb
+++ b/lib/gitlab/file_finder.rb
@@ -15,12 +15,12 @@ module Gitlab
def find(query)
query = Gitlab::Search::Query.new(query, encode_binary: true) do
- filter :filename, matcher: ->(filter, blob) { blob.binary_filename =~ /#{filter[:regex_value]}$/i }
- filter :path, matcher: ->(filter, blob) { blob.binary_filename =~ /#{filter[:regex_value]}/i }
- filter :extension, matcher: ->(filter, blob) { blob.binary_filename =~ /\.#{filter[:regex_value]}$/i }
+ filter :filename, matcher: ->(filter, blob) { blob.binary_path =~ /#{filter[:regex_value]}$/i }
+ filter :path, matcher: ->(filter, blob) { blob.binary_path =~ /#{filter[:regex_value]}/i }
+ filter :extension, matcher: ->(filter, blob) { blob.binary_path =~ /\.#{filter[:regex_value]}$/i }
end
- files = find_by_filename(query.term) + find_by_content(query.term)
+ files = find_by_path(query.term) + find_by_content(query.term)
files = query.filter_results(files) if query.filters.any?
@@ -35,13 +35,14 @@ module Gitlab
end
end
- def find_by_filename(query)
- search_filenames(query).map do |filename|
- Gitlab::Search::FoundBlob.new(blob_filename: filename, project: project, ref: ref, repository: repository)
+ def find_by_path(query)
+ search_paths(query).map do |path|
+ Gitlab::Search::FoundBlob.new(blob_path: path, project: project, ref: ref, repository: repository)
end
end
- def search_filenames(query)
+ # Overriden in Gitlab::WikiFileFinder
+ def search_paths(query)
repository.search_files_by_name(query, ref)
end
end