rubytree 0.3.0 → 0.3.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (7) hide show
  1. data/ChangeLog +8 -0
  2. data/README +4 -4
  3. data/Rakefile +45 -28
  4. data/TAGS +86 -63
  5. data/lib/tree.rb +4 -4
  6. data/test/testtree.rb +4 -4
  7. metadata +4 -4
data/ChangeLog CHANGED
@@ -1,5 +1,13 @@
1
+ 2007-07-17 Anupam Sengupta <anupamsg@gmail.com>
2
+
3
+ * lib/tree.rb (Tree::TreeNode::parentage): Renamed 'ancestors'
4
+ method to 'parentage' to avoid clobbering Module.ancestors
5
+
1
6
  2007-07-16 Anupam Sengupta <anupamsg@gmail.com>
2
7
 
8
+ * Rakefile: Added an optional rtags task to generate TAGS file for
9
+ Emacs.
10
+
3
11
  * lib/tree.rb (Tree::TreeNode): Added navigation methods for
4
12
  siblings and children. Also added some convenience methods.
5
13
 
data/README CHANGED
@@ -1,9 +1,9 @@
1
- = Rubytree 0.3.0
1
+ = Rubytree 0.3.1
2
2
 
3
3
  (c) 2006, 2007 Anupam Sengupta
4
4
  http://rubytree.rubyforge.org
5
5
 
6
- Document Revision: $Revision: 1.6 $ by $Author: anupamsg $
6
+ Document Revision: $Revision: 1.7 $ by $Author: anupamsg $
7
7
 
8
8
  == License
9
9
 
@@ -66,7 +66,7 @@ the text mode ri documentation:
66
66
 
67
67
  Documentation on the web is available at:
68
68
 
69
- http://rubytree.rubyforge.org/rdoc/
69
+ http://rubytree.rubyforge.org/rdoc/
70
70
 
71
71
  == Example
72
72
 
@@ -114,7 +114,7 @@ Documentation on the web is available at:
114
114
 
115
115
  Rubytree is licensed under BSD license.
116
116
 
117
- Copyright (c) 2007, Anupam Sengupta
117
+ Copyright (c) 2006, 2007 Anupam Sengupta
118
118
 
119
119
  All rights reserved.
120
120
 
data/Rakefile CHANGED
@@ -1,6 +1,6 @@
1
1
  # Rakefile
2
2
  #
3
- # $Revision: 1.14 $ by $Author: anupamsg $
3
+ # $Revision: 1.16 $ by $Author: anupamsg $
4
4
  # $Name: $
5
5
  #
6
6
  # Copyright (c) 2006, 2007 Anupam Sengupta
@@ -42,22 +42,24 @@ require 'rake/rdoctask'
42
42
  desc "Default Task"
43
43
  task :default => :gem
44
44
 
45
- PKG_VERSION = '0.3.0'
45
+ PKG_VERSION = '0.3.1'
46
46
  PKG_FILES = FileList[
47
- '[A-Z]*',
48
- 'lib/**/*.rb',
49
- 'test/**/*.rb'
50
- ]
47
+ '[A-Z]*',
48
+ 'lib/**/*.rb',
49
+ 'test/**/*.rb'
50
+ ]
51
51
 
52
52
  spec = Gem::Specification.new do |s|
53
- s.name = "rubytree"
54
- s.version = PKG_VERSION
55
- s.platform = Gem::Platform::RUBY
56
- s.author = "Anupam Sengupta"
57
- s.email = "anupamsg@gmail.com"
58
- s.summary = "Ruby implementation of the Tree data structure."
53
+ s.name = "rubytree"
54
+ s.version = PKG_VERSION
55
+ s.platform = Gem::Platform::RUBY
56
+ s.author = "Anupam Sengupta"
57
+ s.email = "anupamsg@gmail.com"
58
+ s.homepage = "http://rubytree.rubyforge.org/"
59
+ s.rubyforge_project = 'rubytree'
60
+ s.summary = "Ruby implementation of the Tree data structure."
59
61
 
60
- s.description = <<-END
62
+ s.description = <<-END
61
63
  Provides a generic tree data-structure with ability to
62
64
  store keyed node-elements in the tree. The implementation
63
65
  mixes in the Enumerable module.
@@ -65,37 +67,52 @@ spec = Gem::Specification.new do |s|
65
67
  Website: http://rubytree.rubyforge.org/
66
68
  END
67
69
 
68
- s.has_rdoc = true
69
- s.extra_rdoc_files = ['README', 'COPYING', 'ChangeLog']
70
- s.autorequire = "tree"
71
- s.files = PKG_FILES.to_a
72
- s.test_files = Dir.glob('test/test*.rb')
70
+ s.has_rdoc = true
71
+ s.extra_rdoc_files = ['README', 'COPYING', 'ChangeLog']
72
+ s.autorequire = "tree"
73
+ s.files = PKG_FILES.to_a
74
+ s.test_files = Dir.glob('test/test*.rb')
73
75
  end
74
76
 
75
77
  Rake::GemPackageTask.new(spec) do |pkg|
76
- pkg.need_zip = true
77
- pkg.need_tar = true
78
+ pkg.need_zip = true
79
+ pkg.need_tar = true
78
80
  end
79
81
 
80
82
  Rake::TestTask.new do |t|
81
- t.libs << "test"
82
- t.test_files = FileList['test/test*.rb']
83
- t.verbose = true
83
+ t.libs << "test"
84
+ t.test_files = FileList['test/test*.rb']
85
+ t.verbose = true
84
86
  end
85
87
 
86
88
  Rake::RDocTask.new do |rd|
87
- rd.rdoc_files.include("README", "COPYING", "ChangeLog", "lib/**/*.rb")
88
- rd.title = "Rubytree Documentation"
89
+ rd.rdoc_files.include("README", "COPYING", "ChangeLog", "lib/**/*.rb")
90
+ rd.title = "Rubytree Documentation"
89
91
  end
90
92
 
91
93
  Rake::RDocTask.new(:rdoc_www) do |rd|
92
- rd.rdoc_files.include("README", "COPYING", "ChangeLog", "lib/**/*.rb")
93
- rd.title = "Rubytree Documentation"
94
- rd.template = "rubytree-template.rb"
94
+ rd.rdoc_files.include("README", "COPYING", "ChangeLog", "lib/**/*.rb")
95
+ rd.title = "Rubytree Documentation"
96
+ rd.template = "rubytree-template.rb"
95
97
  end
96
98
 
99
+ # Optional TAGS Task.
100
+ # Needs https://rubyforge.org/projects/rtagstask/
101
+ begin
102
+ require 'rtagstask'
103
+ RTagsTask.new do |rd|
104
+ rd.vi = false
105
+ end
106
+ rescue LoadError
107
+ end
97
108
 
98
109
  # $Log: Rakefile,v $
110
+ # Revision 1.16 2007/07/17 05:34:03 anupamsg
111
+ # Added an optional tags Rake-task for generating the TAGS file for Emacs.
112
+ #
113
+ # Revision 1.15 2007/07/17 04:42:45 anupamsg
114
+ # Minor fixes to the Rakefile.
115
+ #
99
116
  # Revision 1.14 2007/07/17 03:39:28 anupamsg
100
117
  # Moved the CVS Log keyword to end of the files.
101
118
  #
data/TAGS CHANGED
@@ -1,66 +1,89 @@
1
1
 
2
- ./lib/tree.rb,1809
3
- module Tree::Tree11,250
4
- class TreeNode::Tree::TreeNode40,1061
5
- attr_reader :content, :name, :parent::Tree::TreeNode#content43,1112
6
- attr_reader :content, :name, :parent::Tree::TreeNode#name43,1112
7
- attr_reader :content, :name, :parent::Tree::TreeNode#parent43,1112
8
- attr_writer :content::Tree::TreeNode#content44,1157
9
- def initialize::Tree::TreeNode#Tree::TreeNode.new55,1473
10
- def to_s::Tree::TreeNode#to_s69,1866
11
- def parent=::Tree::TreeNode#parent=79,2266
12
- def <<::Tree::TreeNode#<<87,2532
13
- def add::Tree::TreeNode#add95,2825
14
- def remove!::Tree::TreeNode#remove!109,3285
15
- def removeFromParent!::Tree::TreeNode#removeFromParent!118,3601
16
- def removeAll!::Tree::TreeNode#removeAll!123,3749
17
- def hasContent?::Tree::TreeNode#hasContent?133,4013
18
- def setAsRoot!::Tree::TreeNode#setAsRoot!138,4139
19
- def isRoot?::Tree::TreeNode#isRoot?144,4327
20
- def hasChildren?::Tree::TreeNode#hasChildren?149,4461
21
- def children::Tree::TreeNode#children155,4655
22
- def each::Tree::TreeNode#each165,4932
23
- def []::Tree::TreeNode#[]177,5366
24
- def size::Tree::TreeNode#size189,5712
25
- def length::Tree::TreeNode#length194,5850
26
- def printTree::Tree::TreeNode#printTree199,5957
27
- def root::Tree::TreeNode#root205,6149
28
- def siblings::Tree::TreeNode#siblings214,6454
29
- def <=>::Tree::TreeNode#<=>230,6982
30
- def freezeTree!::Tree::TreeNode#freezeTree!236,7148
31
- def createDumpRep::Tree::TreeNode#createDumpRep241,7273
32
- def _dump::Tree::TreeNode#_dump247,7487
33
- def TreeNode.loadDumpRep::Tree::TreeNode.loadDumpRep253,7639
34
- def TreeNode._load::Tree::TreeNode._load270,8265
2
+ lib/tree.rb,2410
3
+ module Tree::Tree48,2020
4
+ class TreeNode::Tree::TreeNode103,3802
5
+ attr_reader :content, :name, :parent::Tree::TreeNode#content106,3845
6
+ attr_reader :content, :name, :parent::Tree::TreeNode#name106,3845
7
+ attr_reader :content, :name, :parent::Tree::TreeNode#parent106,3845
8
+ attr_writer :content::Tree::TreeNode#content107,3886
9
+ def initialize::Tree::TreeNode#Tree::TreeNode.new118,4158
10
+ def to_s::Tree::TreeNode#to_s132,4447
11
+ def ancestors::Tree::TreeNode#ancestors144,4836
12
+ def parent=::Tree::TreeNode#parent=159,5172
13
+ def <<::Tree::TreeNode#<<167,5408
14
+ def add::Tree::TreeNode#add174,5667
15
+ def remove!::Tree::TreeNode#remove!189,6080
16
+ def removeFromParent!::Tree::TreeNode#removeFromParent!198,6356
17
+ def removeAll!::Tree::TreeNode#removeAll!203,6478
18
+ def hasContent?::Tree::TreeNode#hasContent?213,6692
19
+ def setAsRoot!::Tree::TreeNode#setAsRoot!218,6800
20
+ def isRoot?::Tree::TreeNode#isRoot?224,6966
21
+ def hasChildren?::Tree::TreeNode#hasChildren?229,7082
22
+ def isLeaf?::Tree::TreeNode#isLeaf?235,7220
23
+ def children::Tree::TreeNode#children241,7385
24
+ def firstChild::Tree::TreeNode#firstChild251,7613
25
+ def lastChild::Tree::TreeNode#lastChild257,7754
26
+ def each::Tree::TreeNode#each263,7948
27
+ def each_leaf::Tree::TreeNode#each_leaf270,8204
28
+ def []::Tree::TreeNode#[]279,8570
29
+ def size::Tree::TreeNode#size291,8848
30
+ def length::Tree::TreeNode#length296,8968
31
+ def printTree::Tree::TreeNode#printTree301,9057
32
+ def root::Tree::TreeNode#root321,9553
33
+ def firstSibling::Tree::TreeNode#firstSibling329,9752
34
+ def isFirstSibling?::Tree::TreeNode#isFirstSibling?338,9920
35
+ def lastSibling::Tree::TreeNode#lastSibling344,10071
36
+ def isLastSibling?::Tree::TreeNode#isLastSibling?353,10234
37
+ def siblings::Tree::TreeNode#siblings360,10453
38
+ def isOnlyChild?::Tree::TreeNode#isOnlyChild?374,10826
39
+ def nextSibling::Tree::TreeNode#nextSibling380,10989
40
+ def previousSibling::Tree::TreeNode#previousSibling388,11221
41
+ def <=>::Tree::TreeNode#<=>397,11486
42
+ def freezeTree!::Tree::TreeNode#freezeTree!403,11628
43
+ def createDumpRep::Tree::TreeNode#createDumpRep408,11760
44
+ def _dump::Tree::TreeNode#_dump414,11940
45
+ def TreeNode.loadDumpRep::Tree::TreeNode.loadDumpRep421,12130
46
+ def TreeNode._load::Tree::TreeNode._load439,12707
35
47
 
36
- ./test/person.rb,305
37
- class Person::Person1,0
38
- attr_reader :first, :last
39
- attr_reader :first, :last
40
- attr_writer :first, :last
41
- attr_writer :first, :last
42
- def initialize::Person#Person.new4,80
43
- def to_s::Person#to_s9,182
48
+ test/person.rb,322
49
+ class Person::Person37,1683
50
+ attr_reader :first, :last::Person#first38,1700
51
+ attr_reader :first, :last::Person#last38,1700
52
+ attr_writer :first, :last::Person#first39,1730
53
+ attr_writer :first, :last::Person#last39,1730
54
+ def initialize::Person#Person.new40,1760
55
+ def to_s::Person#to_s45,1853
44
56
 
45
- ./test/testtree.rb,1164
46
- class TC_TreeTest::TC_TreeTest8,106
47
- def setup::TC_TreeTest#setup10,161
48
- def loadChildren::TC_TreeTest#loadChildren20,503
49
- def teardown::TC_TreeTest#teardown26,615
50
- def test_root_setup::TC_TreeTest#test_root_setup30,668
51
- def test_root::TC_TreeTest#test_root44,1348
52
- def test_siblings::TC_TreeTest#test_siblings52,1591
53
- def test_add::TC_TreeTest#test_add71,2221
54
- def test_remove::TC_TreeTest#test_remove90,2743
55
- def test_removeAll::TC_TreeTest#test_removeAll117,3521
56
- def test_removeFromParent::TC_TreeTest#test_removeFromParent126,3789
57
- def test_children::TC_TreeTest#test_children142,4413
58
- def test_find::TC_TreeTest#test_find167,5289
59
- def test_each::TC_TreeTest#test_each181,5859
60
- def test_parent::TC_TreeTest#test_parent198,6530
61
- def test_indexed_access::TC_TreeTest#test_indexed_access207,6939
62
- def test_printTree::TC_TreeTest#test_printTree215,7233
63
- def test_dump::TC_TreeTest#test_dump221,7320
64
- def test_collect::TC_TreeTest#test_collect237,7901
65
- def test_freezeTree::TC_TreeTest#test_freezeTree246,8152
66
- def test_content::TC_TreeTest#test_content255,8444
57
+ test/testtree.rb,1847
58
+ class TC_TreeTest::TC_TreeTest43,1728
59
+ def setup::TC_TreeTest#setup45,1781
60
+ def loadChildren::TC_TreeTest#loadChildren73,2687
61
+ def teardown::TC_TreeTest#teardown79,2783
62
+ def test_root_setup::TC_TreeTest#test_root_setup83,2828
63
+ def test_root::TC_TreeTest#test_root97,3464
64
+ def test_firstSibling::TC_TreeTest#test_firstSibling105,3691
65
+ def test_isFirstSibling::TC_TreeTest#test_isFirstSibling115,4169
66
+ def test_isLastSibling::TC_TreeTest#test_isLastSibling125,4577
67
+ def test_lastSibling::TC_TreeTest#test_lastSibling135,4973
68
+ def test_siblings::TC_TreeTest#test_siblings145,5442
69
+ def test_isOnlyChild?::TC_TreeTest#test_isOnlyChild?164,6029
70
+ def test_nextSibling::TC_TreeTest#test_nextSibling173,6341
71
+ def test_previousSibling::TC_TreeTest#test_previousSibling182,6707
72
+ def test_add::TC_TreeTest#test_add191,7091
73
+ def test_remove::TC_TreeTest#test_remove210,7573
74
+ def test_removeAll::TC_TreeTest#test_removeAll237,8283
75
+ def test_removeFromParent::TC_TreeTest#test_removeFromParent246,8527
76
+ def test_children::TC_TreeTest#test_children263,9157
77
+ def test_firstChild::TC_TreeTest#test_firstChild289,10018
78
+ def test_lastChild::TC_TreeTest#test_lastChild298,10293
79
+ def test_find::TC_TreeTest#test_find307,10558
80
+ def test_ancestors::TC_TreeTest#test_ancestors321,11093
81
+ def test_each::TC_TreeTest#test_each329,11377
82
+ def test_each_leaf::TC_TreeTest#test_each_leaf346,11999
83
+ def test_parent::TC_TreeTest#test_parent360,12469
84
+ def test_indexed_access::TC_TreeTest#test_indexed_access369,12850
85
+ def test_printTree::TC_TreeTest#test_printTree377,13120
86
+ def test_dump::TC_TreeTest#test_dump383,13191
87
+ def test_collect::TC_TreeTest#test_collect399,13728
88
+ def test_freezeTree::TC_TreeTest#test_freezeTree408,13947
89
+ def test_content::TC_TreeTest#test_content417,14211
data/lib/tree.rb CHANGED
@@ -141,17 +141,17 @@ module Tree
141
141
 
142
142
  # Returns an array of ancestors in reversed order (the first element is the
143
143
  # immediate parent). Returns nil if this is a root node.
144
- def ancestors
144
+ def parentage
145
145
  return nil if isRoot?
146
146
 
147
- ancestorsArray = []
147
+ parentageArray = []
148
148
  prevParent = self.parent
149
149
  while (prevParent)
150
- ancestorsArray << prevParent
150
+ parentageArray << prevParent
151
151
  prevParent = prevParent.parent
152
152
  end
153
153
 
154
- ancestorsArray
154
+ parentageArray
155
155
  end
156
156
 
157
157
  # Protected method to set the parent node.
data/test/testtree.rb CHANGED
@@ -318,12 +318,12 @@ class TC_TreeTest < Test::Unit::TestCase
318
318
  assert_nil(foundNode, "The node should not be found")
319
319
  end
320
320
 
321
- def test_ancestors
321
+ def test_parentage
322
322
  loadChildren
323
323
 
324
- assert_nil(@root.ancestors, "Root does not have any ancestors")
325
- assert_equal([@root], @child1.ancestors, "Child1 has Root as its parent")
326
- assert_equal([@child3, @root], @child4.ancestors, "Child4 has Child3 and Root as ancestors")
324
+ assert_nil(@root.parentage, "Root does not have any parentage")
325
+ assert_equal([@root], @child1.parentage, "Child1 has Root as its parent")
326
+ assert_equal([@child3, @root], @child4.parentage, "Child4 has Child3 and Root as ancestors")
327
327
  end
328
328
 
329
329
  def test_each
metadata CHANGED
@@ -3,14 +3,14 @@ rubygems_version: 0.9.4
3
3
  specification_version: 1
4
4
  name: rubytree
5
5
  version: !ruby/object:Gem::Version
6
- version: 0.3.0
7
- date: 2007-07-16 00:00:00 -07:00
6
+ version: 0.3.1
7
+ date: 2007-07-17 00:00:00 -07:00
8
8
  summary: Ruby implementation of the Tree data structure.
9
9
  require_paths:
10
10
  - lib
11
11
  email: anupamsg@gmail.com
12
- homepage:
13
- rubyforge_project:
12
+ homepage: http://rubytree.rubyforge.org/
13
+ rubyforge_project: rubytree
14
14
  description: "Provides a generic tree data-structure with ability to store keyed node-elements in the tree. The implementation mixes in the Enumerable module. Website: http://rubytree.rubyforge.org/"
15
15
  autorequire: tree
16
16
  default_executable: