rubytree 0.3.0 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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: