Class: DataFilter::RangeFilter
- Inherits:
-
Object
- Object
- DataFilter::RangeFilter
- Defined in:
- lib/data_filter/range_filter.rb
Overview
Used to filter a data item by some range by seeing if the data field value falls within that range
Instance Method Summary collapse
-
#call(item) ⇒ Object
Filters the item.
-
#initialize(field_sym, floor: nil, ceiling: nil, nil_default: nil) ⇒ RangeFilter
constructor
A new instance of RangeFilter.
Constructor Details
#initialize(field_sym, floor: nil, ceiling: nil, nil_default: nil) ⇒ RangeFilter
Returns a new instance of RangeFilter.
26 27 28 29 30 31 |
# File 'lib/data_filter/range_filter.rb', line 26 def initialize(field_sym, floor: nil, ceiling: nil, nil_default: nil) @field_sym = field_sym @floor = floor @ceiling = ceiling @nil_default = nil_default end |
Instance Method Details
#call(item) ⇒ Object
Filters the item
37 38 39 40 41 42 43 |
# File 'lib/data_filter/range_filter.rb', line 37 def call(item) if item.respond_to?(@field_sym) actual = item.public_send(@field_sym) actual = @nil_default if actual.nil? item if in_range?(actual) end end |