2021-02-22 15:10:48 +00:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
|
|
|
module Issuables
|
|
|
|
class BaseFilter
|
2021-05-26 21:10:49 +00:00
|
|
|
attr_reader :params
|
2021-02-22 15:10:48 +00:00
|
|
|
|
2021-05-26 21:10:49 +00:00
|
|
|
FILTER_NONE = 'none'
|
|
|
|
FILTER_ANY = 'any'
|
|
|
|
|
|
|
|
def initialize(params:, or_filters_enabled: false)
|
2021-02-22 15:10:48 +00:00
|
|
|
@params = params
|
|
|
|
@or_filters_enabled = or_filters_enabled
|
|
|
|
end
|
|
|
|
|
|
|
|
def filter
|
|
|
|
raise NotImplementedError
|
|
|
|
end
|
|
|
|
|
|
|
|
private
|
|
|
|
|
|
|
|
def or_params
|
|
|
|
params[:or]
|
|
|
|
end
|
|
|
|
|
|
|
|
def not_params
|
|
|
|
params[:not]
|
|
|
|
end
|
|
|
|
|
|
|
|
def or_filters_enabled?
|
|
|
|
@or_filters_enabled
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|