Sha256: 52a31ffbcf23d457bb7f0f7153d632472fcce4803655ea2f50e3bd7acfbf712a
Contents?: true
Size: 818 Bytes
Versions: 2
Compression:
Stored size: 818 Bytes
Contents
module ReportsKits module Reports module FilterTypes class Number < Base DEFAULT_CRITERIA = {} def apply_conditions(records) case criteria[:operator] when '>' records.where(column => (value.to_i...Float::INFINITY)) when '>=' records.where(column => (value.to_i..Float::INFINITY)) when '<' records.where(column => (-Float::INFINITY...value.to_i)) when '<=' records.where(column => (-Float::INFINITY..value.to_i)) when '=' records.where(column => value.to_i) 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/number.rb |
reports_kits-0.7.7 | lib/reports_kits/reports/filter_types/number.rb |