rubytree 0.9.7 → 1.0.0
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.
- checksums.yaml +4 -4
- data/Gemfile +4 -4
- data/Gemfile.lock +37 -52
- data/README.md +5 -5
- data/Rakefile +19 -19
- data/examples/example_basic.rb +5 -5
- data/lib/rubytree.rb +1 -1
- data/lib/tree.rb +55 -50
- data/lib/tree/binarytree.rb +10 -7
- data/lib/tree/tree_deps.rb +8 -8
- data/lib/tree/utils/camel_case_method_handler.rb +10 -9
- data/lib/tree/utils/hash_converter.rb +6 -4
- data/lib/tree/utils/json_converter.rb +13 -9
- data/lib/tree/utils/metrics_methods.rb +8 -6
- data/lib/tree/utils/path_methods.rb +7 -5
- data/lib/tree/utils/tree_merge_handler.rb +5 -4
- data/lib/tree/utils/utils.rb +3 -0
- data/lib/tree/version.rb +2 -2
- data/spec/spec_helper.rb +1 -1
- data/spec/tree_spec.rb +17 -17
- data/test/run_test.rb +6 -6
- data/test/test_binarytree.rb +84 -82
- data/test/test_rubytree_require.rb +2 -2
- data/test/test_subclassed_node.rb +13 -12
- data/test/test_thread_and_fiber.rb +3 -3
- data/test/test_tree.rb +479 -484
- metadata +19 -23
- data/TAGS +0 -248
- data/gem_graph.png +0 -0
- data/rubytree.gemspec +0 -90
- data/setup.rb +0 -1585
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rubytree
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 1.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Anupam Sengupta
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2017-12-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: structured_warnings
|
@@ -16,70 +16,70 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '0.
|
19
|
+
version: '0.3'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '0.
|
26
|
+
version: '0.3'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: json
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '1
|
33
|
+
version: '2.1'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '1
|
40
|
+
version: '2.1'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: bundler
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: '1.
|
47
|
+
version: '1.16'
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: '1.
|
54
|
+
version: '1.16'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: rdoc
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
59
|
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: '
|
61
|
+
version: '6.0'
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
66
|
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: '
|
68
|
+
version: '6.0'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: yard
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
73
|
- - "~>"
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version: '0.
|
75
|
+
version: '0.9'
|
76
76
|
type: :development
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
80
|
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version: '0.
|
82
|
+
version: '0.9'
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: rtagstask
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
@@ -100,14 +100,14 @@ dependencies:
|
|
100
100
|
requirements:
|
101
101
|
- - "~>"
|
102
102
|
- !ruby/object:Gem::Version
|
103
|
-
version: '3.
|
103
|
+
version: '3.7'
|
104
104
|
type: :development
|
105
105
|
prerelease: false
|
106
106
|
version_requirements: !ruby/object:Gem::Requirement
|
107
107
|
requirements:
|
108
108
|
- - "~>"
|
109
109
|
- !ruby/object:Gem::Version
|
110
|
-
version: '3.
|
110
|
+
version: '3.7'
|
111
111
|
description: |2+
|
112
112
|
|
113
113
|
RubyTree is a pure Ruby implementation of the generic tree data structure. It
|
@@ -150,10 +150,8 @@ files:
|
|
150
150
|
- LICENSE.md
|
151
151
|
- README.md
|
152
152
|
- Rakefile
|
153
|
-
- TAGS
|
154
153
|
- TODO.org
|
155
154
|
- examples/example_basic.rb
|
156
|
-
- gem_graph.png
|
157
155
|
- lib/rubytree.rb
|
158
156
|
- lib/tree.rb
|
159
157
|
- lib/tree/binarytree.rb
|
@@ -166,8 +164,6 @@ files:
|
|
166
164
|
- lib/tree/utils/tree_merge_handler.rb
|
167
165
|
- lib/tree/utils/utils.rb
|
168
166
|
- lib/tree/version.rb
|
169
|
-
- rubytree.gemspec
|
170
|
-
- setup.rb
|
171
167
|
- spec/spec_helper.rb
|
172
168
|
- spec/tree_spec.rb
|
173
169
|
- test/run_test.rb
|
@@ -184,7 +180,7 @@ post_install_message: |2
|
|
184
180
|
========================================================================
|
185
181
|
Thank you for installing RubyTree.
|
186
182
|
|
187
|
-
Note:: As of 0.
|
183
|
+
Note:: As of 1.0.0, RubyTree can only support MRI Ruby >= 2.2.x
|
188
184
|
|
189
185
|
Details of the API changes are documented in the API-CHANGES file.
|
190
186
|
========================================================================
|
@@ -198,7 +194,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
198
194
|
requirements:
|
199
195
|
- - ">="
|
200
196
|
- !ruby/object:Gem::Version
|
201
|
-
version:
|
197
|
+
version: '2.2'
|
202
198
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
203
199
|
requirements:
|
204
200
|
- - ">="
|
@@ -206,13 +202,13 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
206
202
|
version: '0'
|
207
203
|
requirements: []
|
208
204
|
rubyforge_project:
|
209
|
-
rubygems_version: 2.
|
205
|
+
rubygems_version: 2.6.14
|
210
206
|
signing_key:
|
211
207
|
specification_version: 4
|
212
208
|
summary: A generic tree data structure.
|
213
209
|
test_files:
|
214
210
|
- test/test_binarytree.rb
|
215
|
-
- test/test_rubytree_require.rb
|
216
211
|
- test/test_subclassed_node.rb
|
217
|
-
- test/test_thread_and_fiber.rb
|
218
212
|
- test/test_tree.rb
|
213
|
+
- test/test_thread_and_fiber.rb
|
214
|
+
- test/test_rubytree_require.rb
|
data/TAGS
DELETED
@@ -1,248 +0,0 @@
|
|
1
|
-
|
2
|
-
lib/rubytree.rb,0
|
3
|
-
|
4
|
-
lib/tree/binarytree.rb,795
|
5
|
-
module Tree::Tree43,1906
|
6
|
-
class BinaryTreeNode::Tree::BinaryTreeNode52,2215
|
7
|
-
def left_child::Tree::BinaryTreeNode#left_child62,2498
|
8
|
-
def right_child::Tree::BinaryTreeNode#right_child74,2889
|
9
|
-
def is_left_child?::Tree::BinaryTreeNode#is_left_child?83,3165
|
10
|
-
def is_right_child?::Tree::BinaryTreeNode#is_right_child?93,3496
|
11
|
-
def add::Tree::BinaryTreeNode#add110,4153
|
12
|
-
def add_from_hash::Tree::BinaryTreeNode#add_from_hash143,5539
|
13
|
-
def inordered_each::Tree::BinaryTreeNode#inordered_each160,6096
|
14
|
-
def set_child_at::Tree::BinaryTreeNode#set_child_at191,7032
|
15
|
-
def left_child=::Tree::BinaryTreeNode#left_child=210,7700
|
16
|
-
def right_child=::Tree::BinaryTreeNode#right_child=222,8069
|
17
|
-
def swap_children::Tree::BinaryTreeNode#swap_children227,8215
|
18
|
-
|
19
|
-
lib/tree/tree_deps.rb,0
|
20
|
-
|
21
|
-
lib/tree/utils/camel_case_method_handler.rb,324
|
22
|
-
module Tree::Tree41,1848
|
23
|
-
module CamelCaseMethodHandler::Tree::CamelCaseMethodHandler44,2004
|
24
|
-
def self.included::Tree::CamelCaseMethodHandler.included45,2038
|
25
|
-
def method_missing::Tree::CamelCaseMethodHandler#method_missing49,2186
|
26
|
-
def to_snake_case::Tree::CamelCaseMethodHandler#to_snake_case66,2798
|
27
|
-
|
28
|
-
lib/tree/utils/hash_converter.rb,265
|
29
|
-
module Tree::Tree40,1916
|
30
|
-
def self.included::Tree.included42,1953
|
31
|
-
module ClassMethods::Tree::ClassMethods49,2177
|
32
|
-
def from_hash::Tree::ClassMethods#from_hash86,3823
|
33
|
-
def add_from_hash::Tree#add_from_hash129,5519
|
34
|
-
def to_h::Tree#to_h151,6367
|
35
|
-
|
36
|
-
lib/tree/utils/json_converter.rb,258
|
37
|
-
module Tree::Tree42,1925
|
38
|
-
def self.included::Tree.included44,1962
|
39
|
-
def as_json::Tree#as_json61,2413
|
40
|
-
def to_json::Tree#to_json89,3121
|
41
|
-
module ClassMethods::Tree::ClassMethods94,3271
|
42
|
-
def json_create::Tree::ClassMethods#json_create113,3986
|
43
|
-
|
44
|
-
lib/tree/utils/metrics_methods.rb,718
|
45
|
-
module Tree::Tree41,1833
|
46
|
-
module TreeMetricsHandler::Tree::TreeMetricsHandler43,1918
|
47
|
-
def self.included::Tree::TreeMetricsHandler.included44,1948
|
48
|
-
def size::Tree::TreeMetricsHandler#size56,2317
|
49
|
-
def length::Tree::TreeMetricsHandler#length67,2661
|
50
|
-
def node_height::Tree::TreeMetricsHandler#node_height80,3078
|
51
|
-
def node_depth::Tree::TreeMetricsHandler#node_depth96,3689
|
52
|
-
def level::Tree::TreeMetricsHandler#level105,3875
|
53
|
-
def depth::Tree::TreeMetricsHandler#depth124,4560
|
54
|
-
def breadth::Tree::TreeMetricsHandler#breadth140,5197
|
55
|
-
def in_degree::Tree::TreeMetricsHandler#in_degree154,5660
|
56
|
-
def out_degree::Tree::TreeMetricsHandler#out_degree165,5973
|
57
|
-
|
58
|
-
lib/tree/utils/tree_merge_handler.rb,214
|
59
|
-
module Tree::Tree40,1769
|
60
|
-
def merge::Tree#merge57,2500
|
61
|
-
def merge!::Tree#merge!72,3134
|
62
|
-
def check_merge_prerequisites::Tree#check_merge_prerequisites85,3441
|
63
|
-
def merge_trees::Tree#merge_trees102,4086
|
64
|
-
|
65
|
-
lib/tree/utils/utils.rb,27
|
66
|
-
module Tree::Tree39,1838
|
67
|
-
|
68
|
-
lib/tree/version.rb,27
|
69
|
-
module Tree::Tree38,1723
|
70
|
-
|
71
|
-
lib/tree.rb,2947
|
72
|
-
module Tree::Tree48,2158
|
73
|
-
class TreeNode::Tree::TreeNode85,3731
|
74
|
-
attr_reader :name::Tree::TreeNode#name113,4634
|
75
|
-
attr_accessor :content::Tree::TreeNode#content120,4833
|
76
|
-
attr_reader :parent::Tree::TreeNode#parent124,4949
|
77
|
-
def root::Tree::TreeNode#root131,5161
|
78
|
-
def is_root?::Tree::TreeNode#is_root?142,5467
|
79
|
-
def has_content?::Tree::TreeNode#has_content?150,5650
|
80
|
-
def is_leaf?::Tree::TreeNode#is_leaf?161,5904
|
81
|
-
def parentage::Tree::TreeNode#parentage173,6279
|
82
|
-
def has_children?::Tree::TreeNode#has_children?191,6705
|
83
|
-
def initialize::Tree::TreeNode#Tree::TreeNode.new214,7531
|
84
|
-
def detached_copy::Tree::TreeNode#detached_copy232,8148
|
85
|
-
def detached_subtree_copy::Tree::TreeNode#detached_subtree_copy242,8434
|
86
|
-
alias :dup::Tree::TreeNode#dup251,8695
|
87
|
-
def marshal_dump::Tree::TreeNode#marshal_dump256,8873
|
88
|
-
def create_dump_rep::Tree::TreeNode#create_dump_rep262,9041
|
89
|
-
def marshal_load::Tree::TreeNode#marshal_load277,9579
|
90
|
-
def to_s::Tree::TreeNode#to_s302,10363
|
91
|
-
def <<::Tree::TreeNode#<<325,11134
|
92
|
-
def add::Tree::TreeNode#add360,12662
|
93
|
-
def insertion_range::Tree::TreeNode#insertion_range380,13624
|
94
|
-
def rename::Tree::TreeNode#rename394,13993
|
95
|
-
def rename_child::Tree::TreeNode#rename_child413,14502
|
96
|
-
def name=::Tree::TreeNode#name=426,14986
|
97
|
-
def replace!::Tree::TreeNode#replace!436,15333
|
98
|
-
def replace_with::Tree::TreeNode#replace_with450,15706
|
99
|
-
def remove!::Tree::TreeNode#remove!468,16438
|
100
|
-
def parent=::Tree::TreeNode#parent=483,16841
|
101
|
-
def remove_from_parent!::Tree::TreeNode#remove_from_parent!496,17234
|
102
|
-
def remove_all!::Tree::TreeNode#remove_all!507,17606
|
103
|
-
def set_as_root!::Tree::TreeNode#set_as_root!518,17835
|
104
|
-
def freeze_tree!::Tree::TreeNode#freeze_tree!528,18161
|
105
|
-
def []::Tree::TreeNode#[]568,19679
|
106
|
-
def each::Tree::TreeNode#each593,20646
|
107
|
-
def preordered_each::Tree::TreeNode#preordered_each621,21606
|
108
|
-
def postordered_each::Tree::TreeNode#postordered_each633,22018
|
109
|
-
def breadth_each::Tree::TreeNode#breadth_each669,23463
|
110
|
-
def children::Tree::TreeNode#children695,24416
|
111
|
-
def each_leaf::Tree::TreeNode#each_leaf716,25037
|
112
|
-
def first_child::Tree::TreeNode#first_child733,25459
|
113
|
-
def last_child::Tree::TreeNode#last_child741,25670
|
114
|
-
def first_sibling::Tree::TreeNode#first_sibling757,26117
|
115
|
-
def is_first_sibling?::Tree::TreeNode#is_first_sibling?767,26391
|
116
|
-
def last_sibling::Tree::TreeNode#last_sibling781,26807
|
117
|
-
def is_last_sibling?::Tree::TreeNode#is_last_sibling?791,27077
|
118
|
-
def siblings::Tree::TreeNode#siblings807,27630
|
119
|
-
def is_only_child?::Tree::TreeNode#is_only_child?826,28182
|
120
|
-
def next_sibling::Tree::TreeNode#next_sibling839,28585
|
121
|
-
def previous_sibling::Tree::TreeNode#previous_sibling855,29059
|
122
|
-
def <=>::Tree::TreeNode#<=>871,29570
|
123
|
-
def print_tree::Tree::TreeNode#print_tree881,29950
|
124
|
-
|
125
|
-
test/run_test.rb,0
|
126
|
-
|
127
|
-
test/test_binarytree.rb,1361
|
128
|
-
module TestTree::TestTree39,1717
|
129
|
-
class TestBinaryTreeNode::TestTree::TestBinaryTreeNode41,1776
|
130
|
-
def setup::TestTree::TestBinaryTreeNode#setup44,1868
|
131
|
-
def teardown::TestTree::TestBinaryTreeNode#teardown52,2171
|
132
|
-
def test_initialize::TestTree::TestBinaryTreeNode#test_initialize59,2330
|
133
|
-
def test_from_hash::TestTree::TestBinaryTreeNode#test_from_hash66,2692
|
134
|
-
def test_add_from_hash::TestTree::TestBinaryTreeNode#test_add_from_hash101,4024
|
135
|
-
def test_add::TestTree::TestBinaryTreeNode#test_add134,5134
|
136
|
-
def test_inordered_each::TestTree::TestBinaryTreeNode#test_inordered_each157,6048
|
137
|
-
def test_left_child::TestTree::TestBinaryTreeNode#test_left_child201,7516
|
138
|
-
def test_right_child::TestTree::TestBinaryTreeNode#test_right_child209,7829
|
139
|
-
def test_left_child_equals::TestTree::TestBinaryTreeNode#test_left_child_equals217,8142
|
140
|
-
def test_right_child_equals::TestTree::TestBinaryTreeNode#test_right_child_equals236,9132
|
141
|
-
def test_is_left_child_eh::TestTree::TestBinaryTreeNode#test_is_left_child_eh256,10249
|
142
|
-
def test_is_right_child_eh::TestTree::TestBinaryTreeNode#test_is_right_child_eh271,10788
|
143
|
-
def test_swap_children::TestTree::TestBinaryTreeNode#test_swap_children285,11334
|
144
|
-
def test_old_camelCase_method_names::TestTree::TestBinaryTreeNode#test_old_camelCase_method_names303,12217
|
145
|
-
|
146
|
-
test/test_rubytree_require.rb,203
|
147
|
-
module TestTree::TestTree38,1678
|
148
|
-
class TestRequireRubytree::TestTree::TestRequireRubytree41,1759
|
149
|
-
def test_create_a_simple_node::TestTree::TestRequireRubytree#test_create_a_simple_node44,1884
|
150
|
-
|
151
|
-
test/test_subclassed_node.rb,389
|
152
|
-
module TestTree::TestTree39,1688
|
153
|
-
class TestSubclassedTreeNode::TestTree::TestSubclassedTreeNode42,1741
|
154
|
-
class MyNode::TestTree::TestSubclassedTreeNode::MyNode45,1868
|
155
|
-
def my_dummy_method::TestTree::TestSubclassedTreeNode::MyNode#my_dummy_method47,1967
|
156
|
-
def test_subclassed_camelcase_methods::TestTree::TestSubclassedTreeNode#test_subclassed_camelcase_methods52,2026
|
157
|
-
|
158
|
-
test/test_thread_and_fiber.rb,422
|
159
|
-
module TestTree::TestTree39,1695
|
160
|
-
class TestFiberAndThreadOnNode::TestTree::TestFiberAndThreadOnNode41,1747
|
161
|
-
def create_long_depth_trees::TestTree::TestFiberAndThreadOnNode#create_long_depth_trees44,1843
|
162
|
-
def test_fiber_for_recursion::TestTree::TestFiberAndThreadOnNode#test_fiber_for_recursion59,2260
|
163
|
-
def test_thread_for_recursion::TestTree::TestFiberAndThreadOnNode#test_thread_for_recursion73,2807
|
164
|
-
|
165
|
-
test/test_tree.rb,6492
|
166
|
-
module TestTree::TestTree39,1725
|
167
|
-
class TestTreeNode::TestTree::TestTreeNode41,1777
|
168
|
-
def setup::TestTree::TestTreeNode#setup65,2610
|
169
|
-
def setup_test_tree::TestTree::TestTreeNode#setup_test_tree77,3030
|
170
|
-
def teardown::TestTree::TestTreeNode#teardown84,3180
|
171
|
-
def test_has_version_number::TestTree::TestTreeNode#test_has_version_number89,3272
|
172
|
-
def test_root_setup::TestTree::TestTreeNode#test_root_setup94,3423
|
173
|
-
def test_root::TestTree::TestTreeNode#test_root111,4473
|
174
|
-
def test_from_hash::TestTree::TestTreeNode#test_from_hash123,4974
|
175
|
-
def test_from_hash_with_nils::TestTree::TestTreeNode#test_from_hash_with_nils175,6546
|
176
|
-
def test_add_from_hash::TestTree::TestTreeNode#test_add_from_hash221,7902
|
177
|
-
def test_to_h::TestTree::TestTreeNode#test_to_h253,8917
|
178
|
-
def test_to_h_from_hash_symmetry::TestTree::TestTreeNode#test_to_h_from_hash_symmetry279,9496
|
179
|
-
def test_has_content_eh::TestTree::TestTreeNode#test_has_content_eh295,9894
|
180
|
-
def test_length_is_size::TestTree::TestTreeNode#test_length_is_size306,10352
|
181
|
-
def test_spaceship::TestTree::TestTreeNode#test_spaceship312,10542
|
182
|
-
def test_is_comparable::TestTree::TestTreeNode#test_is_comparable338,11325
|
183
|
-
def test_to_s::TestTree::TestTreeNode#test_to_s356,12107
|
184
|
-
def test_first_sibling::TestTree::TestTreeNode#test_first_sibling389,13825
|
185
|
-
def test_is_first_sibling_eh::TestTree::TestTreeNode#test_is_first_sibling_eh402,14553
|
186
|
-
def test_is_last_sibling_eh::TestTree::TestTreeNode#test_is_last_sibling_eh413,15036
|
187
|
-
def test_last_sibling::TestTree::TestTreeNode#test_last_sibling424,15504
|
188
|
-
def test_siblings::TestTree::TestTreeNode#test_siblings436,16158
|
189
|
-
def test_is_only_child_eh::TestTree::TestTreeNode#test_is_only_child_eh464,17081
|
190
|
-
def test_next_sibling::TestTree::TestTreeNode#test_next_sibling475,17517
|
191
|
-
def test_previous_sibling::TestTree::TestTreeNode#test_previous_sibling486,18017
|
192
|
-
def test_add::TestTree::TestTreeNode#test_add497,18546
|
193
|
-
def test_add_duplicate::TestTree::TestTreeNode#test_add_duplicate518,19228
|
194
|
-
def test_add_at_specific_position::TestTree::TestTreeNode#test_add_at_specific_position559,20656
|
195
|
-
def test_replace_bang::TestTree::TestTreeNode#test_replace_bang623,23711
|
196
|
-
def test_replace_with::TestTree::TestTreeNode#test_replace_with647,24756
|
197
|
-
def test_remove_bang::TestTree::TestTreeNode#test_remove_bang665,25481
|
198
|
-
def test_remove_all_bang::TestTree::TestTreeNode#test_remove_all_bang697,26444
|
199
|
-
def test_remove_from_parent_bang::TestTree::TestTreeNode#test_remove_from_parent_bang707,26750
|
200
|
-
def test_children::TestTree::TestTreeNode#test_children726,27465
|
201
|
-
def test_first_child::TestTree::TestTreeNode#test_first_child762,29054
|
202
|
-
def test_last_child::TestTree::TestTreeNode#test_last_child771,29382
|
203
|
-
def test_find::TestTree::TestTreeNode#test_find780,29698
|
204
|
-
def test_parentage::TestTree::TestTreeNode#test_parentage795,30293
|
205
|
-
def test_each::TestTree::TestTreeNode#test_each804,30625
|
206
|
-
def test_each_leaf::TestTree::TestTreeNode#test_each_leaf823,31309
|
207
|
-
def test_parent::TestTree::TestTreeNode#test_parent850,32504
|
208
|
-
def test_indexed_access::TestTree::TestTreeNode#test_indexed_access861,32923
|
209
|
-
def test_print_tree::TestTree::TestTreeNode#test_print_tree872,33296
|
210
|
-
def test_marshal_dump::TestTree::TestTreeNode#test_marshal_dump879,33456
|
211
|
-
alias test_marshal_load::TestTree::TestTreeNode#test_marshal_load921,35578
|
212
|
-
def test_collect::TestTree::TestTreeNode#test_collect924,35699
|
213
|
-
def test_freeze_tree_bang::TestTree::TestTreeNode#test_freeze_tree_bang934,35965
|
214
|
-
def test_content::TestTree::TestTreeNode#test_content948,36487
|
215
|
-
def test_depth::TestTree::TestTreeNode#test_depth956,36878
|
216
|
-
def do_deprecated_depth::TestTree::TestTreeNode#do_deprecated_depth967,37251
|
217
|
-
def test_node_height::TestTree::TestTreeNode#test_node_height985,37819
|
218
|
-
def test_node_depth::TestTree::TestTreeNode#test_node_depth1010,39028
|
219
|
-
def test_level::TestTree::TestTreeNode#test_level1023,39465
|
220
|
-
def test_breadth::TestTree::TestTreeNode#test_breadth1038,40008
|
221
|
-
def test_breadth_each::TestTree::TestTreeNode#test_breadth_each1057,40655
|
222
|
-
def test_preordered_each::TestTree::TestTreeNode#test_preordered_each1106,42240
|
223
|
-
def test_postordered_each::TestTree::TestTreeNode#test_postordered_each1145,43494
|
224
|
-
def test_detached_copy::TestTree::TestTreeNode#test_detached_copy1194,45031
|
225
|
-
def test_detached_subtree_copy::TestTree::TestTreeNode#test_detached_subtree_copy1211,45759
|
226
|
-
def test_has_children_eh::TestTree::TestTreeNode#test_has_children_eh1245,48011
|
227
|
-
def test_is_leaf_eh::TestTree::TestTreeNode#test_is_leaf_eh1251,48173
|
228
|
-
def test_is_root_eh::TestTree::TestTreeNode#test_is_root_eh1258,48379
|
229
|
-
def test_content_equals::TestTree::TestTreeNode#test_content_equals1264,48542
|
230
|
-
def test_size::TestTree::TestTreeNode#test_size1272,48807
|
231
|
-
def test_lt2::TestTree::TestTreeNode#test_lt21281,49071
|
232
|
-
def test_index::TestTree::TestTreeNode#test_index1292,49563
|
233
|
-
def test_in_degree::TestTree::TestTreeNode#test_in_degree1313,50659
|
234
|
-
def test_out_degree::TestTree::TestTreeNode#test_out_degree1324,51126
|
235
|
-
def test_json_serialization::TestTree::TestTreeNode#test_json_serialization1335,51613
|
236
|
-
def test_json_deserialization::TestTree::TestTreeNode#test_json_deserialization1359,52413
|
237
|
-
def test_json_roundtrip::TestTree::TestTreeNode#test_json_roundtrip1387,53599
|
238
|
-
def test_old_camelCase_method_names::TestTree::TestTreeNode#test_old_camelCase_method_names1403,54340
|
239
|
-
def test_integer_node_names::TestTree::TestTreeNode#test_integer_node_names1434,55408
|
240
|
-
def test_add_node_to_self_as_child::TestTree::TestTreeNode#test_add_node_to_self_as_child1465,56638
|
241
|
-
def test_single_node_becomes_leaf::TestTree::TestTreeNode#test_single_node_becomes_leaf1481,57151
|
242
|
-
def test_unique_node_names::TestTree::TestTreeNode#test_unique_node_names1493,57572
|
243
|
-
def setup_other_test_tree::TestTree::TestTreeNode#setup_other_test_tree1507,57927
|
244
|
-
def test_merge::TestTree::TestTreeNode#test_merge1535,58916
|
245
|
-
def test_merge_bang::TestTree::TestTreeNode#test_merge_bang1564,60354
|
246
|
-
def test_name_accessor::TestTree::TestTreeNode#test_name_accessor1589,61441
|
247
|
-
def test_rename::TestTree::TestTreeNode#test_rename1597,61657
|
248
|
-
def test_rename_child::TestTree::TestTreeNode#test_rename_child1608,62028
|
data/gem_graph.png
DELETED
Binary file
|
data/rubytree.gemspec
DELETED
@@ -1,90 +0,0 @@
|
|
1
|
-
# -*- encoding: utf-8 -*-
|
2
|
-
#
|
3
|
-
# gemspec for the rubytree gem.
|
4
|
-
#
|
5
|
-
# Author:: Anupam Sengupta (anupamsg@gmail.com)
|
6
|
-
#
|
7
|
-
# Copyright (c) 2012, 2013, 2014, 2015 Anupam Sengupta
|
8
|
-
# All rights reserved.
|
9
|
-
|
10
|
-
$:.unshift File.expand_path("../lib", __FILE__)
|
11
|
-
require "tree/version"
|
12
|
-
|
13
|
-
Gem::Specification.new do |s|
|
14
|
-
s.name = 'rubytree'
|
15
|
-
s.date = '2015-12-31'
|
16
|
-
s.version = Tree::VERSION
|
17
|
-
s.license = 'BSD'
|
18
|
-
|
19
|
-
s.platform = Gem::Platform::RUBY
|
20
|
-
s.author = 'Anupam Sengupta'
|
21
|
-
s.email = 'anupamsg@gmail.com'
|
22
|
-
s.homepage = 'http://rubytree.anupamsg.me'
|
23
|
-
|
24
|
-
s.required_ruby_version = '>=1.8.7'
|
25
|
-
|
26
|
-
s.summary = %q{A generic tree data structure.}
|
27
|
-
s.description = <<-EOF
|
28
|
-
|
29
|
-
RubyTree is a pure Ruby implementation of the generic tree data structure. It
|
30
|
-
provides a node-based model to store named nodes in the tree, and provides
|
31
|
-
simple APIs to access, modify and traverse the structure.
|
32
|
-
|
33
|
-
The implementation is node-centric, where individual nodes in the tree are the
|
34
|
-
primary structural elements. All common tree-traversal methods (pre-order,
|
35
|
-
post-order, and breadth-first) are supported.
|
36
|
-
|
37
|
-
The library mixes in the Enumerable and Comparable modules to allow access to
|
38
|
-
the tree as a standard collection (iteration, comparison, etc.).
|
39
|
-
|
40
|
-
A Binary tree is also provided, which provides the in-order traversal in
|
41
|
-
addition to the other methods.
|
42
|
-
|
43
|
-
RubyTree supports importing from, and exporting to JSON, and also supports the
|
44
|
-
Ruby's standard object marshaling.
|
45
|
-
|
46
|
-
This is a BSD licensed open source project, and is hosted at
|
47
|
-
http://github.com/evolve75/RubyTree, and is available as a standard gem from
|
48
|
-
http://rubygems.org/gems/rubytree.
|
49
|
-
|
50
|
-
The home page for RubyTree is at http://rubytree.anupamsg.me.
|
51
|
-
|
52
|
-
EOF
|
53
|
-
|
54
|
-
s.files = Dir['lib/**/*.rb'] # The actual code
|
55
|
-
s.files += Dir['[A-Z]*'] # Various documentation files
|
56
|
-
s.files += Dir['test/**/*.rb'] # Test cases
|
57
|
-
s.files += Dir['spec/**/*.rb'] # Rspec Test cases
|
58
|
-
s.files += Dir['examples/**/*.rb'] # Examples
|
59
|
-
|
60
|
-
s.files += ['.gemtest'] # Support for gem-test
|
61
|
-
|
62
|
-
s.require_paths = ['lib']
|
63
|
-
|
64
|
-
s.test_files = Dir.glob('test/**/test_*.rb')
|
65
|
-
|
66
|
-
s.extra_rdoc_files = ['README.md', 'LICENSE.md',
|
67
|
-
'API-CHANGES.rdoc', 'History.rdoc']
|
68
|
-
s.rdoc_options = ["--title", "Rubytree Documentation", "--quiet"]
|
69
|
-
|
70
|
-
s.add_runtime_dependency 'structured_warnings' , '~> 0.2'
|
71
|
-
s.add_runtime_dependency 'json' , '~> 1.8'
|
72
|
-
|
73
|
-
# Note: Rake is added as a development and test dependency in the Gemfile.
|
74
|
-
s.add_development_dependency 'bundler' , '~> 1.7'
|
75
|
-
s.add_development_dependency 'rdoc' , '~> 4.2'
|
76
|
-
s.add_development_dependency 'yard' , '~> 0.8'
|
77
|
-
s.add_development_dependency 'rtagstask' , '~> 0.0'
|
78
|
-
s.add_development_dependency 'rspec' , '~> 3.4'
|
79
|
-
|
80
|
-
s.post_install_message = <<-EOF
|
81
|
-
========================================================================
|
82
|
-
Thank you for installing RubyTree.
|
83
|
-
|
84
|
-
Note:: As of 0.9.5, the Tree::TreeNode#add method has 'move' semantics.
|
85
|
-
|
86
|
-
Details of the API changes are documented in the API-CHANGES file.
|
87
|
-
========================================================================
|
88
|
-
EOF
|
89
|
-
|
90
|
-
end
|