Class: Filterameter::Filters::NestedFilter

Inherits:
Object
  • Object
show all
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.

Instance Method Summary collapse

Constructor Details

#initialize(joins_values, association_model, attribute_filter) ⇒ NestedFilter

Returns a new instance of NestedFilter.



9
10
11
12
13
# File 'lib/filterameter/filters/nested_filter.rb', line 9

def initialize(joins_values, association_model, attribute_filter)
  @joins_values = joins_values
  @association_model = association_model
  @attribute_filter = attribute_filter
end

Instance Method Details

#apply(query, value) ⇒ Object



15
16
17
18
# File 'lib/filterameter/filters/nested_filter.rb', line 15

def apply(query, value)
  query.joins(@joins_values)
       .merge(@attribute_filter.apply(@association_model, value))
end