Module: XlsFunction::TransformRules::FunctionCallTransform

Included in:
XlsFunction::Transform
Defined in:
lib/xls_function/transform_rules/function_call_transform.rb

Class Method Summary collapse

Class Method Details

.included(klass) ⇒ Object



4
5
6
7
8
9
10
11
12
13
# File 'lib/xls_function/transform_rules/function_call_transform.rb', line 4

def self.included(klass)
  klass.class_eval do
    rule(identifier: simple(:identifier), arglist: subtree(:arglist)) do |context|
      func = ::XlsFunction::Evaluators::FunctionEvaluator.from_dictionary(context[:identifier].to_s.downcase.to_sym)
      raise ::XlsFunction::Transform::NotImplementedFunctionError, "unsupported function #{context[:identifier]}" unless func

      func.create(context)
    end
  end
end