Module: Constree

Defined in:
lib/constree.rb,
lib/constree/node.rb,
lib/constree/version.rb

Defined Under Namespace

Classes: Node

Constant Summary collapse

VERSION =
"0.1.0"

Class Method Summary collapse

Class Method Details

.list(node, seen = []) ⇒ Object



8
9
10
11
12
13
14
15
16
17
18
# File 'lib/constree.rb', line 8

def list node, seen=[]
  node = Node.new node unless node.is_a? Node
  seen << node if seen.empty?

  node.sub_nodes.each do |sub_n|
    seen << sub_n
    list(sub_n, seen) if sub_n.not_yet? seen
  end

  seen
end

.of(mod) ⇒ Object



20
21
22
23
24
# File 'lib/constree.rb', line 20

def of mod
  list(mod).
    map(&:level).
    join("\n")
end

.p(mod) ⇒ Object



26
27
28
# File 'lib/constree.rb', line 26

def p mod
  puts of mod
end