Class: Qreds::Reducer
- Inherits:
-
Object
- Object
- Qreds::Reducer
- Defined in:
- lib/qreds/reducer.rb
Instance Method Summary collapse
- #call ⇒ Object
-
#initialize(query:, params:, config:, resource_name: query.model.to_s, context: {}) ⇒ Reducer
constructor
A new instance of Reducer.
Constructor Details
#initialize(query:, params:, config:, resource_name: query.model.to_s, context: {}) ⇒ Reducer
Returns a new instance of Reducer.
8 9 10 11 12 13 14 |
# File 'lib/qreds/reducer.rb', line 8 def initialize(query:, params:, config:, resource_name: query.model.to_s, context: {}) @query = query @params = params @config = config @resource_name = resource_name @context = context end |
Instance Method Details
#call ⇒ Object
16 17 18 19 20 21 22 |
# File 'lib/qreds/reducer.rb', line 16 def call return query if params.blank? params.reduce(query) do |reduced_query, (functor_key, functor_value)| functor_instance(functor_key, reduced_query, functor_value).call end end |