Module: Filterameter::DeclarativeFilters

Extended by:
ActiveSupport::Concern
Includes:
Filterable, Sortable
Defined in:
lib/filterameter/declarative_filters.rb

Overview

Declarative Controller Filters

Mixin DeclarativeFilters should be included in controllers to enable the filter DSL.

Instance Method Summary collapse

Instance Method Details

#build_query_from_filters(starting_query = nil) ⇒ Object



29
30
31
# File 'lib/filterameter/declarative_filters.rb', line 29

def build_query_from_filters(starting_query = nil)
  self.class.filter_coordinator.build_query(filter_parameters, starting_query)
end

#filter_parametersObject



33
34
35
36
37
38
39
40
41
# File 'lib/filterameter/declarative_filters.rb', line 33

def filter_parameters
  filter_key = Filterameter.configuration.filter_key

  if filter_key
    params.to_unsafe_h.fetch(filter_key, {})
  else
    params.to_unsafe_h.slice(*self.class.filter_coordinator.filter_parameter_names, :sort)
  end
end