Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
ae5eea8
Remove non-required files
jmortlock Nov 25, 2021
200f708
Ignore gemfile.lock
jmortlock Nov 25, 2021
636dd4f
Use gemspec for the gemfile
jmortlock Nov 25, 2021
451c8e9
Bump dev to ruby 3.0.3
jmortlock Nov 25, 2021
da52a24
Switch build to github actions
jmortlock Nov 25, 2021
c1dd058
Remove committed lockfile
jmortlock Nov 25, 2021
6d493fd
Remove Rbx gemfile
jmortlock Nov 25, 2021
4c4d1e9
Remove deprecated CamelCaseMethodHandler support
jmortlock Nov 25, 2021
ff9e1e0
Remove circular includes
jmortlock Nov 25, 2021
9773c0f
Remove deprecated depth method
jmortlock Nov 25, 2021
193e104
Auto coerce integer names into string
jmortlock Nov 25, 2021
d8e4b4d
Remove structured warnings dependency and bump json
jmortlock Nov 25, 2021
63a8de6
Remove setup.rb
jmortlock Nov 25, 2021
118d48b
Add dependabot config
jmortlock Nov 25, 2021
c631533
Merge branch 'modernise-build' into next
evolve75 Jun 14, 2022
e65134b
Reverted development Ruby version to 2.7.2.
evolve75 Jun 14, 2022
7420941
Added the empty `.gemtest` file to support testing the packaged gem.
evolve75 Jun 19, 2022
ff65eb3
Updated the version to `2.0.0.pre`.
evolve75 Jun 19, 2022
e1aabdb
Updated the Gemspec and Rakefile to include the optional rubocop linter.
evolve75 Jun 19, 2022
d25f473
Attributed the modernization changes to @jmortlock.
evolve75 Jun 19, 2022
d993c84
Updated the dependencies.
evolve75 Jun 19, 2022
c5cad4e
Updated the TODOs for the project and restructured the content.
evolve75 Jun 19, 2022
17082a2
Updated the documentation for release 2.0.0.pre.
evolve75 Jun 19, 2022
9b8b0dc
Updated the Github Actions.
evolve75 Jun 19, 2022
4bdf7ce
Removed the dependabot.yml file.
evolve75 Jun 19, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 20 additions & 0 deletions .github/workflows/ruby.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Build and test the RubyTree library.
#
# This runs as a Github Action.

name: Build and Test
on: [push, pull_request]
jobs:
test:
strategy:
fail-fast: false
matrix:
ruby: ["2.6", "2.7", "3.0"]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ matrix.ruby }}
bundler-cache: true
- run: bundle exec rake clobber test:all gem:package
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,4 @@ tmp/
.bundle/
vendor/
.idea/

Gemfile.lock
2 changes: 1 addition & 1 deletion .ruby-version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
2.7
ruby-2.7.2
32 changes: 0 additions & 32 deletions .travis.yml

This file was deleted.

17 changes: 16 additions & 1 deletion API-CHANGES.rdoc
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,22 @@ Note: API level changes are expected to reduce dramatically after the 1.x
release. In most cases, an alternative will be provided to ensure relatively
smooth transition to the new APIs.

== Release 2.0.0 Changes

- The minimum required Ruby version is now '2.6.x' (and higher).

- The long-broken 'Tree::TreeNode#depth' method has been finally removed. Use
{Tree::TreeNode#node_depth}[rdoc-ref:Tree::Utils::TreeMetricsHandler#node_depth] instead.

- Support for 'CamelCase' methods has been removed. This was a legacy shim that
has hopefully outlived its usefulness.

- Use of integers as node-names now no longer requires the optional
'num_as_name' flag.

- 'structured_warnings' has been removed from the code-base and is no longer a
dependency. This was a long-standing point of friction for many users.

== Release 0.9.5 Changes

- The {Tree::TreeNode#add} method now provides 'move' semantics, if a child
Expand Down Expand Up @@ -95,5 +111,4 @@ smooth transition to the new APIs.

# Local Variables:
# mode: rdoc
# coding: utf-8-unix
# End:
8 changes: 2 additions & 6 deletions Gemfile
Original file line number Diff line number Diff line change
@@ -1,8 +1,4 @@
source 'https://rubygems.org'
# frozen_string_literal: true

# Specify your gem's dependencies in rubytree.gemspec
source "https://rubygems.org"
gemspec

# Local Variables:
# mode: ruby
# End:
77 changes: 31 additions & 46 deletions Gemfile.lock
Original file line number Diff line number Diff line change
@@ -1,48 +1,40 @@
PATH
remote: .
specs:
rubytree (1.0.2)
json (~> 2.6.1)
structured_warnings (~> 0.4.0)
rubytree (2.0.0.pre)
json (> 2.3.1)

GEM
remote: https://rubygems.org/
specs:
ast (2.4.2)
coveralls (0.8.23)
json (>= 1.8, < 3)
simplecov (~> 0.16.1)
term-ansicolor (~> 1.3)
thor (>= 0.19.4, < 2.0)
tins (~> 1.6)
diff-lcs (1.5.0)
docile (1.4.0)
json (2.6.1)
json (2.6.2)
parallel (1.21.0)
parser (3.0.3.2)
ast (~> 2.4.1)
power_assert (2.0.1)
psych (4.0.3)
psych (4.0.4)
stringio
rainbow (3.0.0)
rake (13.0.6)
rdoc (6.4.0)
psych (>= 4.0.0)
regexp_parser (2.2.0)
rexml (3.2.5)
rspec (3.10.0)
rspec-core (~> 3.10.0)
rspec-expectations (~> 3.10.0)
rspec-mocks (~> 3.10.0)
rspec-core (3.10.1)
rspec-support (~> 3.10.0)
rspec-expectations (3.10.1)
rspec (3.11.0)
rspec-core (~> 3.11.0)
rspec-expectations (~> 3.11.0)
rspec-mocks (~> 3.11.0)
rspec-core (3.11.0)
rspec-support (~> 3.11.0)
rspec-expectations (3.11.0)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.10.0)
rspec-mocks (3.10.2)
rspec-support (~> 3.11.0)
rspec-mocks (3.11.1)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.10.0)
rspec-support (3.10.3)
rspec-support (~> 3.11.0)
rspec-support (3.11.0)
rtags (0.97)
rtagstask (0.0.4)
rtags (> 0.0.0)
Expand All @@ -57,41 +49,34 @@ GEM
unicode-display_width (>= 1.4.0, < 3.0)
rubocop-ast (1.15.1)
parser (>= 3.0.1.1)
rubocop-rake (0.6.0)
rubocop (~> 1.0)
rubocop-rspec (2.11.1)
rubocop (~> 1.19)
ruby-progressbar (1.11.0)
simplecov (0.16.1)
docile (~> 1.1)
json (>= 1.8, < 3)
simplecov-html (~> 0.10.0)
simplecov-html (0.10.2)
stringio (3.0.1)
structured_warnings (0.4.0)
sync (0.5.0)
term-ansicolor (1.7.1)
tins (~> 1.0)
stringio (3.0.2)
test-unit (3.5.3)
power_assert
thor (1.1.0)
tins (1.30.0)
sync
unicode-display_width (2.1.0)
webrick (1.7.0)
yard (0.9.27)
yard (0.9.28)
webrick (~> 1.7.0)

PLATFORMS
ruby

DEPENDENCIES
bundler (~> 2.3.4)
coveralls (>= 0.8.23)
rake (>= 13.0.6)
rdoc (>= 6.4.0)
rspec (~> 3.10.0)
rtagstask (~> 0.0.4)
rubocop (>= 1.24.0)
bundler
rake
rdoc
rspec
rtagstask
rubocop
rubocop-rake
rubocop-rspec
rubytree!
test-unit (>= 3.5.3)
yard (~> 0.9.27)
test-unit
yard

BUNDLED WITH
2.3.4
18 changes: 17 additions & 1 deletion History.rdoc
Original file line number Diff line number Diff line change
@@ -1,9 +1,25 @@
= History of Changes

=== 2.0.0 / 2022-06-21

* A major release with significant modernization to the code base and removal of
legacy cruft, thanks to {https://github.com/jmortlock jmortlock}.

* The long deprecated {Tree::TreeNode#depth} method has finally been removed.
Use {Tree::TreeNode#node_depth} instead.

* Support for CamelCase methods has been dropped.

* RubyTree now supports MRI Ruby versions 2.6.x, 2,7,x, and 3.0,x.

* Explicit support for rbx Ruby has been removed.

* RubyTree now uses Github Actions for its CI pipeline.

=== 1.0.2 / 2021-12-29

* A minor maintenance version to address a minor but annoying warning for
circular dependencies.
circular dependencies.

=== 1.0.1 / 2021-12-29

Expand Down
2 changes: 1 addition & 1 deletion LICENSE.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[RubyTree][] is licensed under the [BSD][] license.

Copyright (c) 2006-2021 Anupam Sengupta (<anupamsg@gmail.com>).
Copyright (c) 2006-2022 Anupam Sengupta (<anupamsg@gmail.com>).

All rights reserved.

Expand Down
18 changes: 10 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<!--
README.md

Copyright (C) 2006-2017, 2020, 2021 Anupam Sengupta (anupamsg@gmail.com)
Copyright (C) 2006-2022 Anupam Sengupta (anupamsg@gmail.com)

-->
# **RubyTree** #
Expand Down Expand Up @@ -54,7 +54,7 @@ See the [API][rt_doc] documentation for more details.
#
# example_basic.rb:: Basic usage of the tree library.
#
# Copyright (C) 2013-2021 Anupam Sengupta <anupamsg@gmail.com>
# Copyright (C) 2013-2022 Anupam Sengupta <anupamsg@gmail.com>
#
# The following example implements this tree structure:
#
Expand Down Expand Up @@ -117,11 +117,10 @@ This example can also be found at

## REQUIREMENTS: ##

* [Ruby][] 2.7.x+
* [Ruby][] 2.6.x and above.


* Run-time Dependencies:
* [structured_warnings][]
* [JSON][] for converting to/from the JSON format


Expand All @@ -130,6 +129,7 @@ This example can also be found at
* [Rake][] for building the package
* [Yard][] for the documentation
* [RSpec][] for additional Ruby Spec test files
* [Rubocop][] for linting the code.

## INSTALL: ##

Expand Down Expand Up @@ -193,9 +193,9 @@ After checking out the source, run:

$ gem install bundler
$ bundle install
$ rake test
$ rake doc:yard
$ rake gem:package
$ bundle exec rake test:all
$ bundle exec rake doc:yard
$ bundle exec rake gem:package

These steps will install any missing dependencies, run the tests/specs,
generate the documentation, and finally generate the gem file.
Expand Down Expand Up @@ -223,6 +223,8 @@ A big thanks to the following contributors for helping improve **RubyTree**:
to `is_root?` and `node_depth`.
10. [Marco Ziccadi](https://github.com/MZic) for adding the `path_as_string` and
`path_as_array` methods.
11. [John Mortlock](https://github.com/jmortlock) for significant modernization
of the library code and addition of Github `workflows`.

## LICENSE: ##

Expand Down Expand Up @@ -259,8 +261,8 @@ A big thanks to the following contributors for helping improve **RubyTree**:
[rt_doc]: http://rubytree.anupamsg.me/rdoc "RubyTree Documentation"
[rt_gem]: http://rubygems.org/gems/rubytree "RubyTree Gem"
[rt_site]: http://rubytree.anupamsg.me "RubyTree Site"
[structured_warnings]: http://github.com/schmidt/structured_warnings "structured_warnings"
[tree_data_structure]: http://en.wikipedia.org/wiki/Tree_data_structure "Tree Data Structure"
[RSpec]: https://relishapp.com/rspec/
[Rubocop]: https://rubocop.org

[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/evolve75/rubytree/trend.png)](https://bitdeli.com/free "Bitdeli Badge")
Loading