rubytree 0.9.7 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
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.9.7
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: 2015-12-31 00:00:00.000000000 Z
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.2'
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.2'
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.8'
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.8'
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.7'
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.7'
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: '4.2'
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: '4.2'
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.8'
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.8'
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.4'
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.4'
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.9.5, the Tree::TreeNode#add method has 'move' semantics.
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: 1.8.7
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.4.6
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
Binary file
@@ -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