rubytree 0.9.7 → 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|