module Unparser::DSL
DSL
to help defining emitters
Private Instance Methods
children(*names)
click to toggle source
# File lib/unparser/dsl.rb, line 32 def children(*names) define_remaining_children(names) names.each_with_index do |name, index| define_child(name, index) end end
define_child(name, index)
click to toggle source
# File lib/unparser/dsl.rb, line 17 def define_child(name, index) define_method(name) do children.at(index) end private name end
define_group(name, range)
click to toggle source
# File lib/unparser/dsl.rb, line 24 def define_group(name, range) define_method(name) do children[range] end private(name) memoize(name) end
define_remaining_children(names)
click to toggle source
# File lib/unparser/dsl.rb, line 9 def define_remaining_children(names) range = names.length..-1 define_method(:remaining_children) do children[range] end private :remaining_children end