class TTY::Tree::NumberRenderer
Render nodes as numbered list
Public Class Methods
new(nodes, options = {})
click to toggle source
# File lib/tty/tree/number_renderer.rb, line 7 def initialize(nodes, options = {}) @indent = options.fetch(:indent, 4) @nodes = nodes @mark = ' ' * @indent end
Public Instance Methods
render()
click to toggle source
# File lib/tty/tree/number_renderer.rb, line 13 def render @nodes.each_with_index.reduce([]) do |acc, (node, i)| render_node(acc, node, i, @mark) end.join end
Private Instance Methods
render_node(acc, node, i, mark)
click to toggle source
# File lib/tty/tree/number_renderer.rb, line 21 def render_node(acc, node, i, mark) acc << node.prefix.gsub(/:pipe|:space/, mark) unless node.root? acc << "#{node.level}.#{i} " end acc << node.name.to_s + "\n" end