class Mustermann::AST::Transformer::ExpressionTransform
URI expression transformations depending on operator @!visibility private
Public Instance Methods
translate()
click to toggle source
Sets operator and inserts separators in between variables. @!visibility private
# File lib/mustermann/ast/transformer.rb, line 93 def translate self.operator = OPERATORS.fetch(operator) { raise CompileError, "#{operator} operator not supported" } separator = Node[:separator].new(operator.separator) prefix = Node[:separator].new(operator.prefix) self.payload = Array(payload.inject { |list, element| Array(list) << t(separator.dup) << t(element) }) payload.unshift(prefix) if operator.prefix self end