class Arbolobra::Formatter
Public Class Methods
new(charset: Arbolobra::CharSet::DEFAULT, output: $stdout)
click to toggle source
# File lib/arbolobra/formatter.rb, line 10 def initialize charset: Arbolobra::CharSet::DEFAULT, output: $stdout @charset = charset @output = output end
Public Instance Methods
print(node, intro = "", lead = "")
click to toggle source
# File lib/arbolobra/formatter.rb, line 15 def print node, intro = "", lead = "" @output.print lead, node.value.to_s, "\n" children = node.children children.each_with_index do |child, idx| print_child child, intro, idx == children.size - 1 end end
print_child(child, intro, is_last)
click to toggle source
# File lib/arbolobra/formatter.rb, line 23 def print_child child, intro, is_last nextintro = intro + @charset.intro.expand(is_last) nextlead = intro + @charset.lead.expand(is_last) print child, nextintro, nextlead end