module Axiom::Optimizer::Function
Mixin for function optimizations
Public Class Methods
optimize_functions(functions)
click to toggle source
Optimize the summarizers
@param [Hash{Attribute => Function}] functions
@return [Hash{Attribute => Function}]
@api private
# File lib/axiom/optimizer/function.rb, line 27 def self.optimize_functions(functions) optimized = {} functions.each do |attribute, function| optimized[attribute] = optimize_operand(function) end optimized.freeze end
optimize_operand(operand)
click to toggle source
Optimize the operand if possible
@param [#optimize, Object] operand
@return [Object]
@api private
# File lib/axiom/optimizer/function.rb, line 16 def self.optimize_operand(operand) operand.respond_to?(:optimize) ? operand.optimize : operand end