lib/dentaku/calculator.rb in dentaku-3.5.2 vs lib/dentaku/calculator.rb in dentaku-3.5.3

- old
+ new

@@ -61,12 +61,11 @@ return expression.map { |e| evaluate(e, data, &block) } if expression.is_a? Array store(data) do - node = expression - node = ast(node) unless node.is_a?(AST::Node) + node = ast(expression) unbound = node.dependencies(memory) unless unbound.empty? raise UnboundVariableError.new(unbound), "no value provided for variables: #{unbound.uniq.join(', ')}" end @@ -94,9 +93,10 @@ ast(expression).dependencies(test_context) end end def ast(expression) + return expression if expression.is_a?(AST::Node) return expression.map { |e| ast(e) } if expression.is_a? Array @ast_cache.fetch(expression) { options = { aliases: aliases,