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.
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