Class: Might::RansackableFilterParametersAdapter
- Inherits:
-
Object
- Object
- Might::RansackableFilterParametersAdapter
- Defined in:
- lib/might/ransackable_filter_parameters_adapter.rb
Overview
Converts array of parameters to hash familiar to ransack gem
Instance Method Summary collapse
- #call(env) ⇒ Object
-
#initialize(app) ⇒ RansackableFilterParametersAdapter
constructor
A new instance of RansackableFilterParametersAdapter.
Constructor Details
#initialize(app) ⇒ RansackableFilterParametersAdapter
Returns a new instance of RansackableFilterParametersAdapter.
6 7 8 |
# File 'lib/might/ransackable_filter_parameters_adapter.rb', line 6 def initialize(app) @app = app end |
Instance Method Details
#call(env) ⇒ Object
10 11 12 13 14 15 16 17 18 19 |
# File 'lib/might/ransackable_filter_parameters_adapter.rb', line 10 def call(env) scope, params = env ransackable_parameters = Array(params[:filter]).reject { |f| f.predicate.nil? } .each_with_object({}) do |filter, ransackable_filters| ransackable_filters[canonical_name_for(filter)] = filter.value end app.call([scope, params.merge(filter: ransackable_parameters)]) end |