class ASTree::PrettyNode
Attributes
node[R]
Public Class Methods
new(node)
click to toggle source
# File lib/astree/pretty_node.rb, line 5 def initialize(node) @node = node end
Public Instance Methods
element_value(index)
click to toggle source
# File lib/astree/pretty_node.rb, line 19 def element_value(index) node.children[index] end
label_name(index)
click to toggle source
# File lib/astree/pretty_node.rb, line 23 def label_name(index) raise NotImplementedError end
stringify_element(index)
click to toggle source
# File lib/astree/pretty_node.rb, line 9 def stringify_element(index) label = label_name(index) if label.nil? raise "Unexpected index [#{index}] - #{node.inspect}." end "%s (%s)\n" % [colorize_element(element_value(index)), label] end
Private Instance Methods
colorize_element(value)
click to toggle source
# File lib/astree/pretty_node.rb, line 29 def colorize_element(value) case value when String value.inspect.colorize(:red) when Symbol value.inspect.colorize(:yellow) when NilClass value.inspect.colorize(:cyan) else value.inspect end end