class Filterameter::Filters::NestedFilter

Nested Attribute Filter

Class NestedFilter joins the nested table(s) then merges the filter to the association's model.

Public Class Methods

new(joins_values, association_model, attribute_filter) click to toggle source
# 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

Public Instance Methods

apply(query, value) click to toggle source
# 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