debian-mirror-gitlab/lib/gitlab/wiki_file_finder.rb

26 lines
608 B
Ruby
Raw Normal View History

2018-12-13 13:39:08 +05:30
# frozen_string_literal: true
2018-11-08 19:23:39 +05:30
module Gitlab
class WikiFileFinder < FileFinder
attr_reader :repository
def initialize(project, ref)
@project = project
@ref = ref
@repository = project.wiki.repository
end
private
2019-01-03 12:48:30 +05:30
def search_filenames(query, except)
2018-11-08 19:23:39 +05:30
safe_query = Regexp.escape(query.tr(' ', '-'))
safe_query = Regexp.new(safe_query, Regexp::IGNORECASE)
filenames = repository.ls_files(ref)
2019-01-03 12:48:30 +05:30
filenames.delete_if { |filename| except.include?(filename) } unless except.empty?
2018-11-08 19:23:39 +05:30
filenames.grep(safe_query).first(BATCH_SIZE)
end
end
end