f93f8f569d
Enables frozen string for the following: * lib/gitlab/patch/**/*.rb * lib/gitlab/popen/**/*.rb * lib/gitlab/profiler/**/*.rb * lib/gitlab/project_authorizations/**/*.rb * lib/gitlab/prometheus/**/*.rb * lib/gitlab/query_limiting/**/*.rb * lib/gitlab/quick_actions/**/*.rb * lib/gitlab/redis/**/*.rb * lib/gitlab/request_profiler/**/*.rb * lib/gitlab/search/**/*.rb * lib/gitlab/sherlock/**/*.rb * lib/gitlab/sidekiq_middleware/**/*.rb * lib/gitlab/slash_commands/**/*.rb * lib/gitlab/sql/**/*.rb * lib/gitlab/template/**/*.rb * lib/gitlab/testing/**/*.rb * lib/gitlab/utils/**/*.rb * lib/gitlab/webpack/**/*.rb Partially addresses gitlab-org/gitlab-ce#47424.
25 lines
521 B
Ruby
25 lines
521 B
Ruby
# frozen_string_literal: true
|
|
|
|
module Gitlab
|
|
module Search
|
|
class ParsedQuery
|
|
attr_reader :term, :filters
|
|
|
|
def initialize(term, filters)
|
|
@term = term
|
|
@filters = filters
|
|
end
|
|
|
|
def filter_results(results)
|
|
filters = @filters.reject { |filter| filter[:matcher].nil? }
|
|
return unless filters
|
|
|
|
results.select do |result|
|
|
filters.all? do |filter|
|
|
filter[:matcher].call(filter, result)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|