class Arbolobra::Tree

Attributes

nodes[R]
root[R]

Public Class Methods

new(lines, separator = "/") click to toggle source
# File lib/arbolobra/tree.rb, line 10
def initialize lines, separator = "/"
  if lines
    @root = Arbolobra::Node.new "."
    
    lines.each do |line|
      elements = line.chomp.split separator
      create_nodes elements
    end
  end
end

Public Instance Methods

create_nodes(elements) click to toggle source
# File lib/arbolobra/tree.rb, line 21
def create_nodes elements
  node = @root
  elements.each do |elmt|
    subnode = node.children[-1]
    if subnode && subnode.value == elmt
      node = subnode
    else
      newnode = Arbolobra::Node.new elmt
      node.children << newnode
      node = newnode
    end
  end
end