class Axiom::Optimizer::Algebra::Extension
Abstract base class representing Extension
optimizations
Attributes
extensions[R]
The optimized extensions
@return [Hash{Attribute => Function}]
@api private
Public Class Methods
new(*)
click to toggle source
Initialize a Summarization
optimizer
@return [undefined]
@api private
Calls superclass method
# File lib/axiom/optimizer/algebra/extension.rb, line 22 def initialize(*) super @extensions = optimize_extensions end
Private Instance Methods
optimize_extensions()
click to toggle source
Optimize the extensions
@return [Hash{Attribute => Function}]
@api private
# File lib/axiom/optimizer/algebra/extension.rb, line 34 def optimize_extensions Function.optimize_functions(operation.extensions) end
wrap_operand(operand = operand.operand)
click to toggle source
Wrap the operand’s operand in an Extension
@return [Extension]
@api private
# File lib/axiom/optimizer/algebra/extension.rb, line 43 def wrap_operand(operand = operand.operand) operand.extend(extensions) end