Sha256: c3e69664740f7ac0dc70be21d63b3543bac21e9e1e885624dde0c7483e4f0123

Contents?: true

Size: 590 Bytes

Versions: 2

Compression:

Stored size: 590 Bytes

Contents

module ReportsKits
  module Reports
    module FilterTypes
      class Records < Base
        DEFAULT_CRITERIA = {
          operator: 'include'
        }

        def apply_conditions(records)
          case criteria[:operator]
          when 'include'
            records.where(column => value)
          when 'does_not_include'
            records.where.not(column => value)
          else
            raise ArgumentError.new("Unsupported operator: '#{criteria[:operator]}'")
          end
        end

        def valid?
          value.present?
        end
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
reports_kits-0.7.8 lib/reports_kits/reports/filter_types/records.rb
reports_kits-0.7.7 lib/reports_kits/reports/filter_types/records.rb