rubytree 2.0.0 → 2.0.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 32db11d4bf364a3abad82c8b165293c44ac979a3ba4c5c80e73470558e1cd450
4
- data.tar.gz: 298a2b4c37fec0b18f48267607f712debe73271e440ad77dc73bbb3ae43b24df
3
+ metadata.gz: 0f639a13afc57ffbe28198cec86928d2dc123fb5c4ecc0ed048d17a3c45d6192
4
+ data.tar.gz: 3fe121a4a22b4e924db7c85819361bedf582f07569bd0380b76c84b94b24acba
5
5
  SHA512:
6
- metadata.gz: 9ed55c0a1915ff0d31405d32ec652351b061415c4b696bb044d4e9bf6f0dbaaa406df3d29a7b4236c46bb86467091454e6cccf75e9be5a6ace0651fdbf12610e
7
- data.tar.gz: 8b215004ac680ca53db74700f1de3c5e08d6c383cbe2b1548281966a4b4a7113c21cd6c4f49b991e4e55fac5da1e0635672c2055bf8ddafa2d8cf50731fbdcc8
6
+ metadata.gz: 228560789b89fe1aeaace489ef73cde05f1bfa33021bbc6bbbe89eaab33590193bdbffb90c1d7bab2f1c8d50f58f05414775be399fb54fd39bc3da0f57a7d4d8
7
+ data.tar.gz: 132a627d6d8be134c73ab8b63cce4431d161333212121c3e033b0226bfacc3bb3ae7ae5790d268616f7d14c4a76c6dc7e0d18481c0f6999b5b01de6e8cd9029f
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- rubytree (2.0.0)
4
+ rubytree (2.0.2)
5
5
  json (~> 2.0, > 2.3.1)
6
6
 
7
7
  GEM
@@ -9,6 +9,7 @@ GEM
9
9
  specs:
10
10
  ast (2.4.2)
11
11
  diff-lcs (1.5.0)
12
+ docile (1.4.0)
12
13
  json (2.6.2)
13
14
  parallel (1.22.1)
14
15
  parser (3.1.2.0)
@@ -54,6 +55,13 @@ GEM
54
55
  rubocop-rspec (2.11.1)
55
56
  rubocop (~> 1.19)
56
57
  ruby-progressbar (1.11.0)
58
+ simplecov (0.21.2)
59
+ docile (~> 1.1)
60
+ simplecov-html (~> 0.11)
61
+ simplecov_json_formatter (~> 0.1)
62
+ simplecov-html (0.12.3)
63
+ simplecov-lcov (0.8.0)
64
+ simplecov_json_formatter (0.1.4)
57
65
  stringio (3.0.2)
58
66
  test-unit (3.5.3)
59
67
  power_assert
@@ -75,6 +83,8 @@ DEPENDENCIES
75
83
  rubocop-rake (~> 0.0)
76
84
  rubocop-rspec (~> 2.0)
77
85
  rubytree!
86
+ simplecov (~> 0.21)
87
+ simplecov-lcov (~> 0.8)
78
88
  test-unit (~> 3.0)
79
89
  yard (~> 0.0, >= 0.9.20)
80
90
 
data/LICENSE.md CHANGED
@@ -1,36 +1,27 @@
1
- [RubyTree][] is licensed under the [BSD][] license.
1
+ [RubyTree][] is licensed under the [BSD-2-clause][] license.
2
2
 
3
- Copyright (c) 2006-2022 Anupam Sengupta (<anupamsg@gmail.com>).
3
+ Copyright (c) 2006-2023 Anupam Sengupta (<anupamsg@gmail.com>).
4
4
 
5
- All rights reserved.
5
+ Redistribution and use in source and binary forms, with or without modification,
6
+ are permitted provided that the following conditions are met:
6
7
 
7
- Redistribution and use in source and binary forms, with or without
8
- modification, are permitted provided that the following conditions are met:
8
+ 1. Redistributions of source code must retain the above copyright notice, this
9
+ list of conditions and the following disclaimer.
9
10
 
10
- - Redistributions of source code must retain the above copyright notice, this
11
- list of conditions and the following disclaimer.
11
+ 2. Redistributions in binary form must reproduce the above copyright notice,
12
+ this list of conditions and the following disclaimer in the documentation
13
+ and/or other materials provided with the distribution.
12
14
 
13
- - Redistributions in binary form must reproduce the above copyright notice,
14
- this list of conditions and the following disclaimer in the documentation
15
- and/or other materials provided with the distribution.
15
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS IS” AND
16
+ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
17
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
18
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
19
+ ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
20
+ (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
21
+ LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
22
+ ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
24
+ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
16
25
 
17
- - Neither the name of the organization nor the names of its contributors may be
18
- used to endorse or promote products derived from this software without
19
- specific prior written permission.
20
-
21
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22
- "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23
- LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
24
- A PARTICULAR PURPOSE ARE DISCLAIMED.
25
-
26
- IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
27
- ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
28
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
29
- GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
30
- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
31
- IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
32
- OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
33
- ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
34
-
35
- [BSD]: http://opensource.org/licenses/bsd-license.php "BSD License"
36
- [RubyTree]: http://rubytree.anupamsg.me/ "RubyTree Home Page"
26
+ [BSD-2-clause]: https://opensource.org/license/bsd-2-clause/ "BSD License"
27
+ [RubyTree]: http://rubytree.anupamsg.me/ "RubyTree Home Page"
data/README.md CHANGED
@@ -1,9 +1,17 @@
1
1
  # **RubyTree** #
2
2
 
3
3
  [![Gem Version](https://badge.fury.io/rb/rubytree.png)](http://badge.fury.io/rb/rubytree)
4
+ ![Build State](https://github.com/evolve75/rubytree/actions/workflows/ruby.yml/badge.svg)
4
5
  [![Code Climate](https://codeclimate.com/github/evolve75/RubyTree.png)](https://codeclimate.com/github/evolve75/RubyTree)
5
6
  [![Coverage Status](https://coveralls.io/repos/evolve75/RubyTree/badge.png)](https://coveralls.io/r/evolve75/RubyTree)
6
7
 
8
+ __ _ _
9
+ /__\_ _| |__ _ _| |_ _ __ ___ ___
10
+ / \// | | | '_ \| | | | __| '__/ _ \/ _ \
11
+ / _ \ |_| | |_) | |_| | |_| | | __/ __/
12
+ \/ \_/\__,_|_.__/ \__, |\__|_| \___|\___|
13
+ |___/
14
+
7
15
  ## DESCRIPTION: ##
8
16
 
9
17
  **RubyTree** is a pure Ruby implementation of the generic
@@ -202,8 +210,7 @@ downloaded and installed automatically by [Bundler][].
202
210
 
203
211
  A big thanks to the following contributors for helping improve **RubyTree**:
204
212
 
205
- 1. [Dirk Breuer](http://github.com/railsbros-dirk) for contributing the JSON
206
- conversion code.
213
+ 1. Dirk Breuer for contributing the JSON conversion code.
207
214
  2. Vincenzo Farruggia for contributing the (sub)tree cloning code.
208
215
  3. [Eric Cline](https://github.com/escline) for the Rails JSON encoding fix.
209
216
  4. [Darren Oakley](https://github.com/dazoakley) for the tree merge methods.
@@ -230,19 +237,13 @@ A big thanks to the following contributors for helping improve **RubyTree**:
230
237
  **RubyTree** is licensed under the terms of the [BSD][] license. See
231
238
  [LICENSE.md](./LICENSE.md) for details.
232
239
 
233
- __ _ _
234
- /__\_ _| |__ _ _| |_ _ __ ___ ___
235
- / \// | | | '_ \| | | | __| '__/ _ \/ _ \
236
- / _ \ |_| | |_) | |_| | |_| | | __/ __/
237
- \/ \_/\__,_|_.__/ \__, |\__|_| \___|\___|
238
- |___/
239
240
 
240
241
  [BSD]: http://opensource.org/licenses/bsd-license.php "BSD License"
241
242
  [Binary tree]: http://en.wikipedia.org/wiki/Binary_tree "Binary Tree Data Structure"
242
243
  [Bundler]: http://bundler.io "Bundler"
243
- [Comparable]: http://ruby-doc.org/core-2.4.2/Comparable.html "Comparable mix-in"
244
- [Enumerable]: http://ruby-doc.org/core-2.4.2/Enumerable.html "Enumerable mix-in"
245
- [JSON]: http://flori.github.com/json "JSON"
244
+ [Comparable]: http://ruby-doc.org/core/Comparable.html "Comparable mix-in"
245
+ [Enumerable]: http://ruby-doc.org/core/Enumerable.html "Enumerable mix-in"
246
+ [JSON]: https://rubygems.org/gems/json "JSON"
246
247
  [Rake]: https://rubygems.org/gems/rake "Rake"
247
248
  [Ruby]: http://www.ruby-lang.org "Ruby Programming Language"
248
249
  [SCM]: http://en.wikipedia.org/wiki/Source_Code_Management "Source Code Management"
@@ -250,7 +251,7 @@ A big thanks to the following contributors for helping improve **RubyTree**:
250
251
  [breadth-first]: http://en.wikipedia.org/wiki/Breadth-first_search "Breadth-first (level-first) Traversal"
251
252
  [git]: http://git-scm.com "Git SCM"
252
253
  [in-order]: http://en.wikipedia.org/wiki/Tree_traversal#In-order "In-order (symmetric) Traversal"
253
- [marshaling]: http://ruby-doc.org/core-2.4.2/Marshal.html "Marshaling in Ruby"
254
+ [marshaling]: http://ruby-doc.org/core/Marshal.html "Marshaling in Ruby"
254
255
  [post-order]: http://en.wikipedia.org/wiki/Tree_traversal#Post-order "Post-ordered Traversal"
255
256
  [pre-order]: http://en.wikipedia.org/wiki/Tree_traversal#Pre-order "Pre-ordered Traversal"
256
257
  [rt@github]: http://github.com/evolve75/RubyTree "RubyTree Project Page on Github"
@@ -260,6 +261,6 @@ A big thanks to the following contributors for helping improve **RubyTree**:
260
261
  [rt_site]: http://rubytree.anupamsg.me "RubyTree Site"
261
262
  [tree_data_structure]: http://en.wikipedia.org/wiki/Tree_data_structure "Tree Data Structure"
262
263
  [RSpec]: https://relishapp.com/rspec/
263
- [Rubocop]: https://rubocop.org
264
+ [Rubocop]: https://rubocop.org/
264
265
 
265
266
  [TreeNode]: rdoc-ref:Tree::TreeNode
data/Rakefile CHANGED
@@ -139,18 +139,6 @@ namespace :test do
139
139
  task :coverage do
140
140
  ruby 'test/run_test.rb'
141
141
  end
142
-
143
- begin
144
- require 'rcov/rcovtask'
145
- Rcov::RcovTask.new(:rcov) do |t|
146
- t.libs << 'test'
147
- t.test_files = FileList['test/**/test_*.rb']
148
- t.verbose = true
149
- t.rcov_opts << '--exclude /gems/,/Library/,/usr/,spec,lib/tasks'
150
- end
151
- rescue LoadError
152
- # Oh well. Can't have everything.
153
- end
154
142
  end
155
143
 
156
144
  # ................................ Emacs Tags
data/lib/tree/version.rb CHANGED
@@ -4,7 +4,7 @@
4
4
  #
5
5
  # Author:: Anupam Sengupta (anupamsg@gmail.com)
6
6
  #
7
- # Copyright (c) 2012-2022 Anupam Sengupta. All rights reserved.
7
+ # Copyright (c) 2012-2023 Anupam Sengupta. All rights reserved.
8
8
  #
9
9
  # Redistribution and use in source and binary forms, with or without
10
10
  # modification, are permitted provided that the following conditions are met:
@@ -35,5 +35,5 @@
35
35
 
36
36
  module Tree
37
37
  # Rubytree Package Version
38
- VERSION = '2.0.0'
38
+ VERSION = '2.0.2'
39
39
  end
data/rubytree.gemspec CHANGED
@@ -3,16 +3,16 @@
3
3
  #
4
4
  # Author:: Anupam Sengupta (anupamsg@gmail.com)
5
5
  #
6
- # Copyright (c) 2012-2022 Anupam Sengupta. All rights reserved.
6
+ # Copyright (c) 2012-2023 Anupam Sengupta. All rights reserved.
7
7
  #
8
8
  # frozen_string_literal: true
9
9
 
10
- require './lib/tree/version'
10
+ require File.join(__dir__, '/lib/tree/version')
11
11
 
12
12
  Gem::Specification.new do |s|
13
13
  s.name = 'rubytree'
14
14
  s.version = Tree::VERSION
15
- s.license = 'BSD-3-Clause-Clear'
15
+ s.license = 'BSD-2-Clause'
16
16
  # NOTE: s.date should NOT be assigned. It is automatically set to pkg date.
17
17
  s.platform = Gem::Platform::RUBY
18
18
  s.author = 'Anupam Sengupta'
@@ -24,29 +24,23 @@ Gem::Specification.new do |s|
24
24
  s.summary = 'A generic tree data structure for Ruby.'
25
25
 
26
26
  s.description = <<-END_DESC
27
- RubyTree is a pure Ruby implementation of the generic tree data
28
- structure. It provides a node-based model to store named nodes in the tree,
29
- and provides simple APIs to access, modify and traverse the structure.
30
27
 
31
- The implementation is node-centric, where individual nodes in the tree are
32
- the primary structural elements. All common tree-traversal methods
33
- (pre-order, post-order, and breadth-first) are supported.
28
+ RubyTree is a Ruby implementation of the generic tree data structure. It
29
+ provides simple APIs to store named nodes, and to access, modify, and
30
+ traverse the tree.
34
31
 
35
- The library mixes in the Enumerable and Comparable modules to allow access
36
- to the tree as a standard collection (iteration, comparison, etc.).
32
+ The data model is node-centric, where nodes in the tree are the primary
33
+ structural elements. It supports all common tree-traversal methods (pre-order,
34
+ post-order, and breadth first).
37
35
 
38
- A Binary tree is also provided, which provides the in-order traversal in
39
- addition to the other methods.
36
+ RubyTree mixes in the Enumerable and Comparable modules and behaves like a
37
+ standard Ruby collection (iteration, comparison, etc.).
40
38
 
41
- RubyTree supports importing from, and exporting to JSON, and also supports
42
- the Ruby's standard object marshaling.
43
-
44
- This is a BSD licensed open source project, and is hosted at
45
- <https://github.com/evolve75/RubyTree>, and is available as a standard gem
46
- from <https://rubygems.org/gems/rubytree>.
47
-
48
- The home page for RubyTree is at <http://rubytree.anupamsg.me>.
39
+ RubyTree also includes a binary tree implementation, which provides in-order
40
+ node traversal besides the other methods.
49
41
 
42
+ RubyTree can import from and export to JSON, and supports Ruby’s object
43
+ marshaling.
50
44
  END_DESC
51
45
 
52
46
  s.metadata = {
@@ -64,8 +58,6 @@ Gem::Specification.new do |s|
64
58
 
65
59
  s.require_paths = ['lib']
66
60
 
67
- s.test_files = Dir.glob('test/**/test_*.rb')
68
-
69
61
  s.extra_rdoc_files = %w[README.md LICENSE.md API-CHANGES.md History.md]
70
62
  s.rdoc_options = ['--title', "Rubytree Documentation: #{s.name}-#{s.version}",
71
63
  '--main', 'README.md',
@@ -82,6 +74,8 @@ Gem::Specification.new do |s|
82
74
  s.add_development_dependency 'rubocop', '~> 1.0'
83
75
  s.add_development_dependency 'rubocop-rake', '~> 0.0'
84
76
  s.add_development_dependency 'rubocop-rspec', '~> 2.0'
77
+ s.add_development_dependency 'simplecov', '~> 0.21'
78
+ s.add_development_dependency 'simplecov-lcov', '~> 0.8'
85
79
  s.add_development_dependency 'test-unit', '~> 3.0'
86
80
  s.add_development_dependency 'yard', '~> 0.0', '>= 0.9.20'
87
81
 
data/spec/spec_helper.rb CHANGED
@@ -3,10 +3,40 @@
3
3
  # spec_helper.rb
4
4
  #
5
5
  # Author: Anupam Sengupta
6
- # Time-stamp: <2022-06-19 22:38:14 anupam>
6
+ # Time-stamp: <2022-06-22 13:54:00 anupam>
7
7
  #
8
8
  # Copyright (C) 2015, 2022 Anupam Sengupta <anupamsg@gmail.com>
9
9
  #
10
10
  # frozen_string_literal: true
11
11
 
12
12
  require 'tree'
13
+
14
+ if ENV['COVERAGE']
15
+ begin
16
+ require 'simplecov'
17
+ require 'simplecov-lcov'
18
+
19
+ base_dir = File.expand_path(File.join(File.dirname(__FILE__), '..'))
20
+
21
+ SimpleCov::Formatter::LcovFormatter.config do |cfg|
22
+ cfg.report_with_single_file = true
23
+ cfg.lcov_file_name = 'lcov.info'
24
+ cfg.single_report_path = "#{base_dir}/coverage/lcov.info"
25
+ end
26
+
27
+ SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter.new(
28
+ [
29
+ SimpleCov::Formatter::HTMLFormatter,
30
+ SimpleCov::Formatter::LcovFormatter
31
+ ]
32
+ )
33
+
34
+ SimpleCov.start do
35
+ add_filter '/test'
36
+ add_filter '/spec'
37
+ enable_coverage :branch
38
+ end
39
+ rescue LoadError => e
40
+ puts "Could not load simplecov; continuing without code coverage #{e.cause}"
41
+ end
42
+ end
data/spec/tree_spec.rb CHANGED
@@ -3,7 +3,7 @@
3
3
  # tree_spec.rb
4
4
  #
5
5
  # Author: Anupam Sengupta
6
- # Time-stamp: <2022-06-20 22:16:11 anupam>
6
+ # Time-stamp: <2022-06-22 13:52:50 anupam>
7
7
  # Copyright (C) 2015-2022 Anupam Sengupta <anupamsg@gmail.com>
8
8
  #
9
9
  # frozen_string_literal: true
data/test/run_test.rb CHANGED
@@ -3,7 +3,7 @@
3
3
  # run_test.rb:: Run all the tests from the Ruby command line.
4
4
  #
5
5
  # Author: Anupam Sengupta
6
- # Time-stamp: <2022-06-19 22:44:56 anupam>
6
+ # Time-stamp: <2022-06-22 13:54:25 anupam>
7
7
  # Copyright (C) 2014, 2022 Anupam Sengupta <anupamsg@gmail.com>
8
8
  #
9
9
  # Redistribution and use in source and binary forms, with or without modification,
@@ -42,14 +42,25 @@ $LOAD_PATH.unshift(lib_dir)
42
42
  if ENV['COVERAGE']
43
43
  begin
44
44
  require 'simplecov'
45
- require 'coveralls'
45
+ require 'simplecov-lcov'
46
46
 
47
- SimpleCov.formatter = Coveralls::SimpleCov::Formatter
47
+ SimpleCov::Formatter::LcovFormatter.config do |cfg|
48
+ cfg.report_with_single_file = true
49
+ cfg.lcov_file_name = 'lcov.info'
50
+ cfg.single_report_path = "#{base_dir}/coverage/lcov.info"
51
+ end
52
+
53
+ SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter.new(
54
+ [
55
+ SimpleCov::Formatter::HTMLFormatter,
56
+ SimpleCov::Formatter::LcovFormatter
57
+ ]
58
+ )
48
59
 
49
60
  SimpleCov.start do
50
- add_filter '/test/'
51
- add_group 'Core Classes', '/lib/.*tree.rb'
52
- add_group 'Internal Utilities', '/lib/tree/utils/.*.rb'
61
+ add_filter '/test'
62
+ add_filter '/spec'
63
+ enable_coverage :branch
53
64
  end
54
65
  rescue LoadError => e
55
66
  puts "Could not load simplecov; continuing without code coverage #{e.cause}"
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: 2.0.0
4
+ version: 2.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Anupam Sengupta
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-06-21 00:00:00.000000000 Z
11
+ date: 2023-06-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: json
@@ -148,6 +148,34 @@ dependencies:
148
148
  - - "~>"
149
149
  - !ruby/object:Gem::Version
150
150
  version: '2.0'
151
+ - !ruby/object:Gem::Dependency
152
+ name: simplecov
153
+ requirement: !ruby/object:Gem::Requirement
154
+ requirements:
155
+ - - "~>"
156
+ - !ruby/object:Gem::Version
157
+ version: '0.21'
158
+ type: :development
159
+ prerelease: false
160
+ version_requirements: !ruby/object:Gem::Requirement
161
+ requirements:
162
+ - - "~>"
163
+ - !ruby/object:Gem::Version
164
+ version: '0.21'
165
+ - !ruby/object:Gem::Dependency
166
+ name: simplecov-lcov
167
+ requirement: !ruby/object:Gem::Requirement
168
+ requirements:
169
+ - - "~>"
170
+ - !ruby/object:Gem::Version
171
+ version: '0.8'
172
+ type: :development
173
+ prerelease: false
174
+ version_requirements: !ruby/object:Gem::Requirement
175
+ requirements:
176
+ - - "~>"
177
+ - !ruby/object:Gem::Version
178
+ version: '0.8'
151
179
  - !ruby/object:Gem::Dependency
152
180
  name: test-unit
153
181
  requirement: !ruby/object:Gem::Requirement
@@ -182,30 +210,24 @@ dependencies:
182
210
  - - ">="
183
211
  - !ruby/object:Gem::Version
184
212
  version: 0.9.20
185
- description: |2+
186
- RubyTree is a pure Ruby implementation of the generic tree data
187
- structure. It provides a node-based model to store named nodes in the tree,
188
- and provides simple APIs to access, modify and traverse the structure.
213
+ description: |2
189
214
 
190
- The implementation is node-centric, where individual nodes in the tree are
191
- the primary structural elements. All common tree-traversal methods
192
- (pre-order, post-order, and breadth-first) are supported.
215
+ RubyTree is a Ruby implementation of the generic tree data structure. It
216
+ provides simple APIs to store named nodes, and to access, modify, and
217
+ traverse the tree.
193
218
 
194
- The library mixes in the Enumerable and Comparable modules to allow access
195
- to the tree as a standard collection (iteration, comparison, etc.).
219
+ The data model is node-centric, where nodes in the tree are the primary
220
+ structural elements. It supports all common tree-traversal methods (pre-order,
221
+ post-order, and breadth first).
196
222
 
197
- A Binary tree is also provided, which provides the in-order traversal in
198
- addition to the other methods.
223
+ RubyTree mixes in the Enumerable and Comparable modules and behaves like a
224
+ standard Ruby collection (iteration, comparison, etc.).
199
225
 
200
- RubyTree supports importing from, and exporting to JSON, and also supports
201
- the Ruby's standard object marshaling.
202
-
203
- This is a BSD licensed open source project, and is hosted at
204
- <https://github.com/evolve75/RubyTree>, and is available as a standard gem
205
- from <https://rubygems.org/gems/rubytree>.
206
-
207
- The home page for RubyTree is at <http://rubytree.anupamsg.me>.
226
+ RubyTree also includes a binary tree implementation, which provides in-order
227
+ node traversal besides the other methods.
208
228
 
229
+ RubyTree can import from and export to JSON, and supports Ruby’s object
230
+ marshaling.
209
231
  email: anupamsg@gmail.com
210
232
  executables: []
211
233
  extensions: []
@@ -247,7 +269,7 @@ files:
247
269
  - test/test_tree.rb
248
270
  homepage: http://rubytree.anupamsg.me
249
271
  licenses:
250
- - BSD-3-Clause-Clear
272
+ - BSD-2-Clause
251
273
  metadata:
252
274
  rubygems_mfa_required: 'true'
253
275
  post_install_message: |2
@@ -276,7 +298,7 @@ post_install_message: |2
276
298
  ========================================================================
277
299
  rdoc_options:
278
300
  - "--title"
279
- - 'Rubytree Documentation: rubytree-2.0.0'
301
+ - 'Rubytree Documentation: rubytree-2.0.2'
280
302
  - "--main"
281
303
  - README.md
282
304
  - "--quiet"
@@ -297,9 +319,4 @@ rubygems_version: 3.1.4
297
319
  signing_key:
298
320
  specification_version: 4
299
321
  summary: A generic tree data structure for Ruby.
300
- test_files:
301
- - test/test_binarytree.rb
302
- - test/test_subclassed_node.rb
303
- - test/test_tree.rb
304
- - test/test_thread_and_fiber.rb
305
- - test/test_rubytree_require.rb
322
+ test_files: []