Class: Chewie::Handler::Reduced
- Inherits:
-
Object
- Object
- Chewie::Handler::Reduced
- Defined in:
- lib/chewie/handler/reduced.rb
Instance Attribute Summary collapse
-
#built_query ⇒ Object
readonly
Returns the value of attribute built_query.
-
#clause ⇒ Object
readonly
Returns the value of attribute clause.
-
#clause_or_query ⇒ Object
readonly
Returns the value of attribute clause_or_query.
-
#context ⇒ Object
readonly
Returns the value of attribute context.
-
#query ⇒ Object
readonly
Returns the value of attribute query.
Instance Method Summary collapse
-
#initialize(context:, handler: {}, filters: {}) ⇒ Reduced
constructor
A new instance of Reduced.
- #reduce_with(handlers, hash) ⇒ Object
Constructor Details
#initialize(context:, handler: {}, filters: {}) ⇒ Reduced
Returns a new instance of Reduced.
10 11 12 13 14 15 16 |
# File 'lib/chewie/handler/reduced.rb', line 10 def initialize(context:, handler: {}, filters: {}) @context = context @query = handler[:query] @clause = handler[:clause] @built_query = build_query(handler, filters) @clause_or_query = (@clause || @query) end |
Instance Attribute Details
#built_query ⇒ Object (readonly)
Returns the value of attribute built_query.
8 9 10 |
# File 'lib/chewie/handler/reduced.rb', line 8 def built_query @built_query end |
#clause ⇒ Object (readonly)
Returns the value of attribute clause.
8 9 10 |
# File 'lib/chewie/handler/reduced.rb', line 8 def clause @clause end |
#clause_or_query ⇒ Object (readonly)
Returns the value of attribute clause_or_query.
8 9 10 |
# File 'lib/chewie/handler/reduced.rb', line 8 def clause_or_query @clause_or_query end |
#context ⇒ Object (readonly)
Returns the value of attribute context.
8 9 10 |
# File 'lib/chewie/handler/reduced.rb', line 8 def context @context end |
#query ⇒ Object (readonly)
Returns the value of attribute query.
8 9 10 |
# File 'lib/chewie/handler/reduced.rb', line 8 def query @query end |
Instance Method Details
#reduce_with(handlers, hash) ⇒ Object
18 19 20 21 22 23 24 25 26 |
# File 'lib/chewie/handler/reduced.rb', line 18 def reduce_with(handlers, hash) has_one = handlers[query].one? if has_one && is_top_level_query set_in_hash(hash) else push_to_array(hash) end end |