Class: FilterMe::Filter::ArelFieldFilter
- Inherits:
-
Object
- Object
- FilterMe::Filter::ArelFieldFilter
- Defined in:
- lib/filter_me/filter/arel_field_filter.rb
Instance Attribute Summary collapse
-
#configuration ⇒ Object
Returns the value of attribute configuration.
-
#filters ⇒ Object
Returns the value of attribute filters.
Instance Method Summary collapse
- #filter(relation) ⇒ Object
-
#initialize(filters, configuration) ⇒ ArelFieldFilter
constructor
A new instance of ArelFieldFilter.
Constructor Details
#initialize(filters, configuration) ⇒ ArelFieldFilter
Returns a new instance of ArelFieldFilter.
6 7 8 9 10 11 12 13 |
# File 'lib/filter_me/filter/arel_field_filter.rb', line 6 def initialize(filters, configuration) @filters = filters @configuration = configuration unless validator.valid_filters?(filters) raise FiltersNotWhiteListedError, "The filter types #{validator.invalid_filters(filters)} are not allowed." end end |
Instance Attribute Details
#configuration ⇒ Object
Returns the value of attribute configuration.
4 5 6 |
# File 'lib/filter_me/filter/arel_field_filter.rb', line 4 def configuration @configuration end |
#filters ⇒ Object
Returns the value of attribute filters.
4 5 6 |
# File 'lib/filter_me/filter/arel_field_filter.rb', line 4 def filters @filters end |
Instance Method Details
#filter(relation) ⇒ Object
15 16 17 |
# File 'lib/filter_me/filter/arel_field_filter.rb', line 15 def filter(relation) arel_filters.inject { |arel_relation, filter| filter.and(arel_relation) } end |