Class: Filterameter::Filters::NestedFilter
- Inherits:
-
Object
- Object
- Filterameter::Filters::NestedFilter
- Includes:
- Errors
- Defined in:
- lib/filterameter/filters/nested_filter.rb
Overview
# Nested Attribute Filter
Class NestedFilter joins the nested table(s) then merges the filter to the association’s model.
Direct Known Subclasses
Instance Attribute Summary
Attributes included from Errors
Instance Method Summary collapse
- #apply(query, value) ⇒ Object
-
#initialize(association_names, association_model, attribute_filter) ⇒ NestedFilter
constructor
A new instance of NestedFilter.
Methods included from Errors
Constructor Details
#initialize(association_names, association_model, attribute_filter) ⇒ NestedFilter
Returns a new instance of NestedFilter.
11 12 13 14 15 |
# File 'lib/filterameter/filters/nested_filter.rb', line 11 def initialize(association_names, association_model, attribute_filter) @joins_values = Filterameter::Helpers::JoinsValuesBuilder.build(association_names) @association_model = association_model @attribute_filter = attribute_filter end |
Instance Method Details
#apply(query, value) ⇒ Object
17 18 19 20 |
# File 'lib/filterameter/filters/nested_filter.rb', line 17 def apply(query, value) query.joins(@joins_values) .merge(@attribute_filter.apply(@association_model.all, value)) end |