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