Class: ArelHash::Optimizer
- Inherits:
-
Object
- Object
- ArelHash::Optimizer
- Defined in:
- lib/arel_hash/optimizer.rb
Instance Method Summary collapse
-
#initialize(predicates = []) ⇒ Optimizer
constructor
A new instance of Optimizer.
- #optimize(arel_hash) ⇒ Object
Constructor Details
#initialize(predicates = []) ⇒ Optimizer
Returns a new instance of Optimizer.
3 4 5 |
# File 'lib/arel_hash/optimizer.rb', line 3 def initialize(predicates = []) @predicates = predicates end |
Instance Method Details
#optimize(arel_hash) ⇒ Object
7 8 9 10 |
# File 'lib/arel_hash/optimizer.rb', line 7 def optimize(arel_hash) operator, value = ArelHash.singleton_tuple!(arel_hash) (i(and or).include?(operator)) ? optimize_collection_node(operator, value) : arel_hash end |