summaryrefslogtreecommitdiff
path: root/app/finders/issuables/base_filter.rb
blob: 641ae2568cc97b77f8c0a29fe692580060e3f1a7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
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