class Mustermann::AST::Translator::NodeTranslator

Encapsulates a single node translation @!visibility private

Attributes

translator[R]

@!visibility private

Public Class Methods

new(node, translator) click to toggle source

@param node [Mustermann::AST::Node, Object] @param translator [Mustermann::AST::Translator]

@!visibility private

Calls superclass method
# File lib/mustermann/ast/translator.rb, line 30
def initialize(node, translator)
  @translator = translator
  super(node)
end
register(*types) click to toggle source

@param [Array<Symbol, Class>] types list of types to register for. @!visibility private

# File lib/mustermann/ast/translator.rb, line 19
def self.register(*types)
  types.each do |type|
    type = Node.constant_name(type) if type.is_a? Symbol
    translator.dispatch_table[type.to_s] = self
  end
end

Public Instance Methods

t(*args, &block) click to toggle source
# File lib/mustermann/ast/translator.rb, line 40
               def t(*args, &block)
  return translator unless args.any?
  translator.translate(*args, &block)
end