Class: Axiom::Optimizer::Relation::Operation::Reverse::SortedOperand
- Inherits:
-
Axiom::Optimizer::Relation::Operation::Reverse
- Object
- Axiom::Optimizer
- Unary
- Sorted
- Axiom::Optimizer::Relation::Operation::Reverse
- Axiom::Optimizer::Relation::Operation::Reverse::SortedOperand
- Defined in:
- lib/axiom/optimizer/relation/operation/reverse.rb
Overview
Optimize when the operand is an Sorted
Constant Summary
Constants inherited from Axiom::Optimizer
Instance Attribute Summary
Attributes inherited from Unary
Attributes included from Function::Unary
Attributes inherited from Axiom::Optimizer
Instance Method Summary collapse
-
#optimizable? ⇒ Boolean
private
Test if the operand is an Sorted.
-
#optimize ⇒ Sorted
private
Flatten Reverse operation and Sorted operand into an Sorted.
Methods inherited from Unary
Methods included from Function::Unary
Methods inherited from Axiom::Optimizer
Constructor Details
This class inherits a constructor from Axiom::Optimizer::Relation::Operation::Unary
Instance Method Details
#optimizable? ⇒ Boolean
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Test if the operand is an Sorted
42 43 44 |
# File 'lib/axiom/optimizer/relation/operation/reverse.rb', line 42 def optimizable? operand.kind_of?(Axiom::Relation::Operation::Sorted) end |
#optimize ⇒ Sorted
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Flatten Reverse operation and Sorted operand into an Sorted
51 52 53 |
# File 'lib/axiom/optimizer/relation/operation/reverse.rb', line 51 def optimize operand.operand.sort_by { operation.directions } end |