diff options
Diffstat (limited to 'app/finders/issuables/base_filter.rb')
-rw-r--r-- | app/finders/issuables/base_filter.rb | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/app/finders/issuables/base_filter.rb b/app/finders/issuables/base_filter.rb new file mode 100644 index 00000000000..641ae2568cc --- /dev/null +++ b/app/finders/issuables/base_filter.rb @@ -0,0 +1,36 @@ +# frozen_string_literal: true + +module Issuables + class BaseFilter + attr_reader :issuables, :params + + def initialize(issuables, params:, or_filters_enabled: false, not_filters_enabled: false) + @issuables = issuables + @params = params + @or_filters_enabled = or_filters_enabled + @not_filters_enabled = not_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 + + def not_filters_enabled? + @not_filters_enabled + end + end +end |