gf-treevisitor 0.0.10 → 0.0.11

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.10
1
+ 0.0.11
data/lib/treevisitor.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  class TreeVisitor
2
- VERSION = '0.0.10'
2
+ VERSION = '0.0.11'
3
3
  end
@@ -3,27 +3,40 @@ require "rubygems"
3
3
  require "abstract"
4
4
 
5
5
  #
6
- # Nodo Astratto
7
- # Gerarchia delle classi
6
+ # Abstract Node
7
+ # Class hierarchy
8
8
  #
9
- # AbsNode ha un nome, un parent
10
- # | definisce un path
9
+ # AbsNode has a name, a parent
10
+ # ^ and define a path i.e. concatenation ancestor names
11
11
  # |
12
- # |- LeafNode
12
+ # |-- LeafNode
13
13
  # |
14
- # |- TreeNode
15
- #
14
+ # `-- TreeNode
16
15
  #
16
+ # Object diagram
17
+ #
18
+ # TreeNode (parent: nil)
19
+ # |
20
+ # |--->[ LeafNode, LeafNode, LeafNode ]
21
+ # |
22
+ # |--->[ TreeNode, TreeNode ]
23
+ # |
24
+ # |--> [LeafNode]
25
+ # |
26
+ # `--> [TreeNode, TreeNode]
17
27
  class AbsNode
18
28
 
29
+ class << self
30
+ attr_accessor :path_separator
31
+ end
32
+ self.path_separator = File::SEPARATOR
33
+
19
34
  attr_reader :parent
20
35
  attr_reader :name
21
36
 
22
- # solo TreeNode puo' scrivere vedi funzione add_leaf
23
37
  attr_accessor :prev
24
38
  attr_accessor :next
25
39
 
26
-
27
40
  def initialize( name )
28
41
  @parent = nil
29
42
  @name = name
@@ -68,13 +81,9 @@ class AbsNode
68
81
  def path
69
82
  return @path unless @path.nil?
70
83
  if @parent.nil?
71
- if @prefix_path
72
- @path = @prefix_path + @name
73
- else
74
- @path = @name
75
- end
84
+ @path = @prefix_path.nil? ? @name : @prefix_path + @name
76
85
  else
77
- @path = File.join( @parent.path, @name )
86
+ @path = @parent.path + AbsNode::path_separator + @name
78
87
  end
79
88
  @path
80
89
  end
@@ -82,24 +91,16 @@ class AbsNode
82
91
  def path_from_root
83
92
  return @path_from_root unless @path_from_root.nil?
84
93
  if @parent.nil?
85
- if @prefix_path
86
- @path_from_root = @prefix_path
87
- else
88
- @path_from_root = ""
89
- end
94
+ @path_from_root = @prefix_path.nil? ? "" : @prefix_path
90
95
  else
91
- @path_from_root = File.join( @parent.path_from_root, @name )
96
+ @path_from_root = @parent.path_from_root + AbsNode::path_separator + @name
92
97
  end
93
98
  @path_from_root
94
99
  end
95
100
 
96
101
  def depth
97
102
  return @depth unless @depth.nil?
98
- if @parent.nil?
99
- @depth = 1
100
- else
101
- @depth = @parent.depth + 1
102
- end
103
+ @depth = @parent.nil? ? 1 : @parent.depth + 1
103
104
  @depth
104
105
  end
105
106
 
@@ -1,5 +1,3 @@
1
- require 'treevisitor/visitors/block_tree_node_visitor'
2
-
3
1
  class DirTreeWalker
4
2
 
5
3
  def initialize( dirname )
@@ -21,7 +19,6 @@ class DirTreeWalker
21
19
  #
22
20
  # options
23
21
  #
24
-
25
22
  @visit_leaf = true
26
23
  end
27
24
 
@@ -70,9 +67,13 @@ class DirTreeWalker
70
67
  include?( @inspect_file_patterns, File.basename( filename ) )
71
68
  end
72
69
 
73
- def run( treeNodeVisitor )
74
- @visitor = treeNodeVisitor
70
+ #
71
+ # return the visitor
72
+ #
73
+ def run( tree_node_visitor )
74
+ @visitor = tree_node_visitor
75
75
  process_directory( File.expand_path( @dirname ) )
76
+ tree_node_visitor
76
77
  end
77
78
 
78
79
  private
@@ -91,7 +92,6 @@ class DirTreeWalker
91
92
  #
92
93
  # recurse on other directories
93
94
  #
94
- # def process_directory( parentNode, dirname )
95
95
  def process_directory( dirname )
96
96
  @visitor.enter_tree_node( dirname )
97
97
  # return if ignore_dir?( dirname )
@@ -1,12 +1,5 @@
1
- # common
2
1
  require "treevisitor/abs_node"
3
2
 
4
- #
5
- # Deriva da AbsNode
6
- #
7
- # definisce un metodo to_str
8
- #
9
- #
10
3
  class LeafNode < AbsNode
11
4
 
12
5
  def initialize( name, parent = nil )
@@ -16,12 +9,18 @@ class LeafNode < AbsNode
16
9
  end
17
10
  end
18
11
 
12
+ #
13
+ # a leaf_node cannot be a root
19
14
  def root?
20
15
  false
21
16
  end
22
17
 
18
+ #
19
+ # return the visitor
20
+ #
23
21
  def accept( visitor )
24
22
  visitor.visit_leaf_node( self )
23
+ visitor
25
24
  end
26
25
 
27
26
  def to_str
@@ -1,10 +1,8 @@
1
- # common
2
1
  require 'treevisitor/leaf_node'
3
2
 
4
3
  #
5
- # Un treeNode e' come un AbsNode
6
- # in piu' ha la possibilita' di contenere
7
- # altri treeNode e LeafNode
4
+ # TreeNode can contains other TreeNode (children)
5
+ # and can contains LeafNode (leves)
8
6
  #
9
7
  # TreeNode @childs -1---n-> TreeNode
10
8
  # @leaves -1---n-> LeafNode
@@ -12,11 +10,11 @@ require 'treevisitor/leaf_node'
12
10
  class TreeNode < AbsNode
13
11
 
14
12
  attr_reader :leaves
15
- attr_reader :childs
13
+ attr_reader :children
16
14
 
17
15
  def initialize( name, parent = nil )
18
16
  @leaves = []
19
- @childs = []
17
+ @children = []
20
18
  super( name )
21
19
  if parent
22
20
  parent.add_child( self )
@@ -29,30 +27,31 @@ class TreeNode < AbsNode
29
27
 
30
28
  #
31
29
  # invalidate cached info
30
+ # invalidate propagates form parent to children and leaves
32
31
  #
33
32
  def invalidate
34
33
  super
35
- @childs.each{ |c| c.invalidate }
34
+ @children.each{ |c| c.invalidate }
36
35
  @leaves.each{ |l| l.invalidate }
37
36
  end
38
37
 
39
38
  def nr_nodes
40
- nr = @leaves.length + @childs.length
41
- @childs.inject( nr ) { |nr,c| nr + c.nr_nodes }
39
+ nr = @leaves.length + @children.length
40
+ @children.inject( nr ) { |nr,c| nr + c.nr_nodes }
42
41
  end
43
42
 
44
43
  def nr_leaves
45
- @leaves.length + @childs.inject(0) { |sum, child| sum + child.nr_leaves }
44
+ @leaves.length + @children.inject(0) { |sum, child| sum + child.nr_leaves }
46
45
  end
47
46
 
48
- def nr_childs
49
- @childs.length + @childs.inject(0) { |sum, child| sum + child.nr_childs }
47
+ def nr_children
48
+ @children.length + @children.inject(0) { |sum, child| sum + child.nr_children }
50
49
  end
51
50
 
52
51
  def add_leaf( leaf )
53
52
  return if leaf.parent == self
54
53
  if not leaf.parent.nil?
55
- leaf.remove_from_parent()
54
+ leaf.remove_from_parent
56
55
  end
57
56
  leaf.parent = self
58
57
  if @leaves.length > 0
@@ -71,35 +70,37 @@ class TreeNode < AbsNode
71
70
  end
72
71
  treeNode.invalidate
73
72
  treeNode.parent = self
74
- @childs << treeNode
73
+ @children << treeNode
75
74
  end
76
75
 
77
76
  def find( name )
78
- if self.name == name
79
- return self
80
- end
77
+ return self if self.name == name
81
78
 
82
79
  leaf = @leaves.find { |l| l.name == name }
83
80
  if leaf
84
81
  return leaf
85
82
  end
86
83
 
87
- @childs.each {|c|
84
+ @children.each {|c|
88
85
  node = c.find(name)
89
86
  return node if node
90
87
  }
91
88
  nil
92
89
  end
93
90
 
91
+ #
92
+ # return the visitor
93
+ #
94
94
  def accept( visitor )
95
95
  visitor.enter_tree_node( self )
96
- @leaves.each{ |l|
97
- l.accept( visitor )
96
+ @leaves.each{ |leaf|
97
+ leaf.accept( visitor )
98
98
  }
99
- @childs.each { |tn|
100
- tn.accept( visitor )
99
+ @children.each { |child|
100
+ child.accept( visitor )
101
101
  }
102
102
  visitor.exit_tree_node( self )
103
+ visitor
103
104
  end
104
105
 
105
106
  def to_str( depth = 0 )
@@ -116,7 +117,7 @@ class TreeNode < AbsNode
116
117
  (0...depth-1).step {
117
118
  str << " |-"
118
119
  }
119
- if @childs.empty?
120
+ if @children.empty?
120
121
  str << " | "
121
122
  else
122
123
  str << " | | "
@@ -126,7 +127,7 @@ class TreeNode < AbsNode
126
127
  }
127
128
  end
128
129
 
129
- @childs.each { |tn|
130
+ @children.each { |tn|
130
131
  str << tn.to_str( depth + 1 )
131
132
  }
132
133
  str
@@ -1,22 +1,16 @@
1
- # rubygems
2
- require 'rubygems'
3
- require 'abstract'
4
-
5
1
  #
6
- # Classe astratta per visitare un TreeNode
2
+ # Callback methods used to visit a tree
3
+ # Are empty so it is possible defined only a subset
7
4
  #
8
5
  class TreeNodeVisitor
9
6
 
10
- def enter_tree_node( treeNode )
11
- not_implemented
7
+ def enter_tree_node( tree_node )
12
8
  end
13
9
 
14
- def exit_tree_node( treeNode )
15
- not_implemented
10
+ def exit_tree_node( tree_node )
16
11
  end
17
-
18
- def visit_leaf_node( leafNode )
19
- not_implemented
12
+
13
+ def visit_leaf_node( leaf_node )
20
14
  end
21
15
 
22
16
  end
@@ -9,15 +9,15 @@ class BlockTreeNodeVisitor < TreeNodeVisitor
9
9
  @block = action
10
10
  end
11
11
 
12
- def enter_tree_node( treeNode )
13
- @block.call( treeNode )
12
+ def enter_tree_node( tree_node )
13
+ @block.call( tree_node )
14
14
  end
15
15
 
16
- def exit_tree_node( treeNode )
16
+ def exit_tree_node( tree_node )
17
17
  end
18
18
 
19
- def visit_leaf_node( leafNode )
20
- @block.call( leafNode )
19
+ def visit_leaf_node( leaf_node )
20
+ @block.call( leaf_node )
21
21
  end
22
22
 
23
23
  end
@@ -23,13 +23,13 @@ class BuildDirTreeVisitor < TreeNodeVisitor
23
23
 
24
24
  def enter_tree_node( pathname )
25
25
  if @stack.empty?
26
- treeNode = TreeNode.new( File.basename( pathname ) )
27
- @root = treeNode
26
+ tree_node = TreeNode.new( File.basename( pathname ) )
27
+ @root = tree_node
28
28
  else
29
- treeNode = TreeNode.new( File.basename( pathname ), @stack.last )
29
+ tree_node = TreeNode.new( File.basename( pathname ), @stack.last )
30
30
  end
31
31
  @nr_directories += 1
32
- @stack.push( treeNode )
32
+ @stack.push( tree_node )
33
33
  end
34
34
 
35
35
  def exit_tree_node( pathname )
@@ -38,7 +38,8 @@ class BuildDirTreeVisitor < TreeNodeVisitor
38
38
 
39
39
  def visit_leaf_node( pathname )
40
40
  @nr_files += 1
41
- leafNode = LeafNode.new( File.basename(pathname), @stack.last )
41
+ # connect the leaf_node created to the last tree_node on the stack
42
+ LeafNode.new( File.basename(pathname), @stack.last )
42
43
  end
43
44
 
44
45
  end
@@ -5,41 +5,36 @@
5
5
  #
6
6
  class CallbackTreeNodeVisitor < TreeNodeVisitor
7
7
 
8
- def initialize( root = nil )
8
+ def initialize
9
9
  super()
10
10
  @stack = []
11
- @root = root
12
- @stack.push( root ) if root
13
- @action_enterTreeNode = nil
14
- @action_visitLeafNode = nil
11
+ @root = nil
12
+ @action_enter_tree_node = nil
13
+ @action_visit_leaf_node = nil
15
14
  end
16
15
 
17
- def onEnterTreeNode( &action )
18
- @action_enterTreeNode = action
16
+ def on_enter_tree_node( &action )
17
+ @action_enter_tree_node = action
19
18
  end
20
19
 
21
- def onVisitLeafNode( &action )
22
- @action_visitLeafNode = action
20
+ def on_visit_leaf_node( &action )
21
+ @action_visit_leaf_node = action
23
22
  end
24
23
 
25
- def enter_tree_node( treeNode )
26
- parentNode = if @stack.empty?
27
- nil
28
- else
29
- @stack.last
30
- end
31
- @root = treeNode if @stack.empty?
32
- @stack.push( treeNode )
33
- @action_enterTreeNode.call( treeNode ) if @action_enterTreeNode
24
+ def enter_tree_node( tree_node )
25
+ # parent_node = @stack.empty? ? nil : @stack.last
26
+ @root = tree_node if @stack.empty?
27
+ @stack.push( tree_node )
28
+ @action_enter_tree_node.call( tree_node ) if @action_enter_tree_node
34
29
  end
35
30
 
36
- def exit_tree_node( treeNode )
31
+ def exit_tree_node( tree_node )
37
32
  @stack.pop
38
33
  end
39
34
 
40
- def visit_leaf_node( leafNode )
41
- parentNode = @stack.last
42
- @action_visitLeafNode.call( leafNode ) if @action_visitLeafNode
35
+ def visit_leaf_node( leaf_node )
36
+ # parent_node = @stack.last
37
+ @action_visit_leaf_node.call( leaf_node ) if @action_visit_leaf_node
43
38
  end
44
39
 
45
40
  end
@@ -8,39 +8,34 @@ class CallbackTreeNodeVisitor2 < TreeNodeVisitor
8
8
 
9
9
  attr_reader :root
10
10
 
11
- def initialize( root = nil )
11
+ def initialize
12
12
  super()
13
13
  @stack = []
14
- @root = root
15
- @stack.push( root ) if root
14
+ @root = nil
16
15
  end
17
16
 
18
- def onEnterTreeNode( &action )
19
- @action_enterTreeNode = action
17
+ def on_enter_tree_node( &action )
18
+ @action_enter_tree_node = action
20
19
  end
21
20
 
22
- def onVisitLeafNode( &action )
23
- @action_visitLeafNode = action
21
+ def on_visit_leaf_node( &action )
22
+ @action_visit_leaf_node = action
24
23
  end
25
24
 
26
- def enter_tree_node( treeNode )
27
- newParentNode = if @stack.empty?
28
- nil
29
- else
30
- @stack.last
31
- end
32
- newTreeNode = @action_enterTreeNode.call( treeNode, newParentNode )
33
- @root = newTreeNode if @stack.empty?
34
- @stack.push( newTreeNode )
25
+ def enter_tree_node( tree_node )
26
+ parent_node = @stack.empty? ? nil : @stack.last
27
+ new_tree_node = @action_enter_tree_node.call( tree_node, parent_node )
28
+ @root = new_tree_node if @stack.empty?
29
+ @stack.push( new_tree_node )
35
30
  end
36
31
 
37
- def exit_tree_node( treeNode )
32
+ def exit_tree_node( tree_node )
38
33
  @stack.pop
39
34
  end
40
35
 
41
- def visit_leaf_node( leafNode )
42
- newParentNode = @stack.last
43
- @action_visitLeafNode.call( leafNode, newParentNode )
36
+ def visit_leaf_node( leaf_node )
37
+ parent_node = @stack.last
38
+ @action_visit_leaf_node.call( leaf_node, parent_node )
44
39
  end
45
40
 
46
41
  end
@@ -3,30 +3,30 @@
3
3
  #
4
4
  class CloneTreeNodeVisitor < TreeNodeVisitor
5
5
 
6
- attr_reader :clonedRoot
6
+ attr_reader :cloned_root
7
7
 
8
8
  def initialize
9
9
  super
10
- @clonedRoot = nil
10
+ @cloned_root = nil
11
11
  @stack = []
12
12
  end
13
13
 
14
14
  def enter_tree_node( treeNode )
15
15
  if @stack.empty?
16
- clonedTreeNode = TreeNode.new( treeNode.name )
17
- @clonedRoot = clonedTreeNode
16
+ cloned_tree_node = TreeNode.new( treeNode.name )
17
+ @cloned_root = cloned_tree_node
18
18
  else
19
- clonedTreeNode = TreeNode.new( treeNode.name, @stack.last )
19
+ cloned_tree_node = TreeNode.new( treeNode.name, @stack.last )
20
20
  end
21
- @stack.push( clonedTreeNode )
21
+ @stack.push( cloned_tree_node )
22
22
  end
23
23
 
24
24
  def exit_tree_node( treeNode )
25
25
  @stack.pop
26
26
  end
27
27
 
28
- def visit_leaf_node( leafNode )
29
- clonedLeafNode = LeafNode.new( leafNode.name, @stack.last )
28
+ def visit_leaf_node( leaf_node )
29
+ LeafNode.new( leaf_node.name, @stack.last )
30
30
  end
31
31
 
32
32
  end
@@ -10,15 +10,15 @@ class DepthTreeNodeVisitor < TreeNodeVisitor
10
10
  @depth = 0
11
11
  end
12
12
 
13
- def enter_tree_node( treeNode )
13
+ def enter_tree_node( tree_node )
14
14
  @depth += 1
15
15
  end
16
16
 
17
- def exit_tree_node( treeNode )
17
+ def exit_tree_node( tree_node )
18
18
  @depth -= 1
19
19
  end
20
20
 
21
- def visit_leaf_node( leafNode )
21
+ def visit_leaf_node( leaf_node )
22
22
  end
23
23
 
24
24
  end
@@ -3,15 +3,15 @@
3
3
  #
4
4
  class FlatPrintTreeNodeVisitor < TreeNodeVisitor
5
5
 
6
- def enter_tree_node( treeNode )
7
- puts treeNode.name
6
+ def enter_tree_node( tree_node )
7
+ puts tree_node.name
8
8
  end
9
9
 
10
- def exit_tree_node( treeNode )
10
+ def exit_tree_node( tree_node )
11
11
  end
12
12
 
13
- def visit_leaf_node( leafNode )
14
- puts leafNode.name
13
+ def visit_leaf_node( leaf_node )
14
+ puts leaf_node.name
15
15
  end
16
16
 
17
17
  end
@@ -8,7 +8,7 @@ class PrintDirTreeVisitor < TreeNodeVisitor
8
8
  puts pathname
9
9
  end
10
10
 
11
- def exit_tree_node( treeNode )
11
+ def exit_tree_node( pathname )
12
12
  end
13
13
 
14
14
  def visit_leaf_node( pathname )
@@ -3,21 +3,11 @@
3
3
  #
4
4
  class PrintTreeNodeVisitor < TreeNodeVisitor
5
5
 
6
- def initialize( *args )
7
- super( *args )
6
+ def initialize
8
7
  @depth = 0
9
8
  end
10
9
 
11
- def visit_leaf_node( leafNode )
12
- str = ""
13
- (0...@depth-1).step {
14
- str << " |-"
15
- }
16
- str << " | "
17
- puts str + leafNode.name.to_s
18
- end
19
-
20
- def enter_tree_node( treeNode )
10
+ def enter_tree_node( tree_node )
21
11
 
22
12
  str = ""
23
13
  (0...@depth).step {
@@ -25,14 +15,24 @@ class PrintTreeNodeVisitor < TreeNodeVisitor
25
15
  }
26
16
 
27
17
  if @depth == 0
28
- puts str + treeNode.name.to_s
18
+ puts str + tree_node.name.to_s
29
19
  else
30
- puts str + treeNode.name.to_s
20
+ puts str + tree_node.name.to_s
31
21
  end
32
22
  @depth += 1
33
23
  end
34
24
 
35
- def exit_tree_node( treeNode )
25
+ def exit_tree_node( tree_node )
36
26
  @depth -= 1
37
27
  end
28
+
29
+ def visit_leaf_node( leaf_node )
30
+ str = ""
31
+ (0...@depth-1).step {
32
+ str << " |-"
33
+ }
34
+ str << " | "
35
+ puts str + leaf_node.name.to_s
36
+ end
37
+
38
38
  end
@@ -3,20 +3,10 @@
3
3
  # TODO: join this with PrintTreeNodeVisitor
4
4
  class PrintTreeNodeVisitor2 < TreeNodeVisitor
5
5
 
6
- def initialize( *args )
7
- super( *args )
6
+ def initialize
8
7
  @depth = 0
9
8
  end
10
9
 
11
- def visit_leaf_node( leaf_node )
12
- str = ""
13
- (0...@depth-1).step {
14
- str << " |-"
15
- }
16
- str << " | "
17
- puts str + leaf_node.to_s
18
- end
19
-
20
10
  def enter_tree_node( tree_node )
21
11
 
22
12
  str = ""
@@ -35,4 +25,14 @@ class PrintTreeNodeVisitor2 < TreeNodeVisitor
35
25
  def exit_tree_node( tree_node )
36
26
  @depth -= 1
37
27
  end
28
+
29
+ def visit_leaf_node( leaf_node )
30
+ str = ""
31
+ (0...@depth-1).step {
32
+ str << " |-"
33
+ }
34
+ str << " | "
35
+ puts str + leaf_node.to_s
36
+ end
37
+
38
38
  end
@@ -2,6 +2,8 @@ require File.join(File.dirname(__FILE__), "test_helper")
2
2
 
3
3
  require 'treevisitor/dir_tree_walker.rb'
4
4
  require 'treevisitor/tree_node_visitor.rb'
5
+ require 'treevisitor/visitors/block_tree_node_visitor.rb'
6
+
5
7
 
6
8
  class TCDirTreeWalker < Test::Unit::TestCase
7
9
 
@@ -72,11 +72,11 @@ class TCTreeNode < Test::Unit::TestCase
72
72
 
73
73
  assert_equal( 4, ta.nr_nodes )
74
74
  assert_equal( 3, ta.nr_leaves )
75
- assert_equal( 1, ta.nr_childs )
75
+ assert_equal( 1, ta.nr_children )
76
76
 
77
77
  assert_equal( 1, tb.nr_nodes )
78
78
  assert_equal( 1, tb.nr_leaves )
79
- assert_equal( 0, tb.nr_childs )
79
+ assert_equal( 0, tb.nr_children )
80
80
  end
81
81
 
82
82
  def test_prefix_path
@@ -36,14 +36,14 @@ class TCTreeNodeVisitor < Test::Unit::TestCase
36
36
 
37
37
  visitor = CloneTreeNodeVisitor.new
38
38
  @tree.accept( visitor )
39
- assert_equal(@tree.nr_nodes, visitor.clonedRoot.nr_nodes )
39
+ assert_equal(@tree.nr_nodes, visitor.cloned_root.nr_nodes )
40
40
  end
41
41
 
42
42
  def test_callback_tree_node_visitor
43
43
  accumulator = []
44
44
  visitor = CallbackTreeNodeVisitor.new
45
- visitor.onEnterTreeNode{ |treeNode| accumulator << treeNode.name }
46
- visitor.onVisitLeafNode{ |leafNode| accumulator << leafNode.name }
45
+ visitor.on_enter_tree_node{ |treeNode| accumulator << treeNode.name }
46
+ visitor.on_visit_leaf_node{ |leafNode| accumulator << leafNode.name }
47
47
  @tree.accept( visitor )
48
48
  assert_equal( 5, accumulator.length )
49
49
  assert_equal( %w{ a 1 2 b 3 }, accumulator )
@@ -51,10 +51,10 @@ class TCTreeNodeVisitor < Test::Unit::TestCase
51
51
 
52
52
  def test_callback_tree_node_visitor2
53
53
  visitor = CallbackTreeNodeVisitor2.new
54
- visitor.onEnterTreeNode{ |treeNode, newParentNode|
54
+ visitor.on_enter_tree_node{ |treeNode, newParentNode|
55
55
  TreeNode.new("n" + treeNode.name, newParentNode)
56
56
  }
57
- visitor.onVisitLeafNode{ |leafNode, newParentNode|
57
+ visitor.on_visit_leaf_node{ |leafNode, newParentNode|
58
58
  LeafNode.new( "n" + leafNode.name, newParentNode )
59
59
  }
60
60
  @tree.accept( visitor )
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gf-treevisitor
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.10
4
+ version: 0.0.11
5
5
  platform: ruby
6
6
  authors:
7
7
  - gf
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-06-02 00:00:00 -07:00
12
+ date: 2009-06-06 00:00:00 -07:00
13
13
  default_executable: tree.rb
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency