RubyTree is a simple to use general purpose tree data structure implementation in Ruby. It provides easy access methods for navigating the hierarchy, as well as for accessing the nodes. It also provides ability to marshal the entire tree structure. The library provides a generic tree as well as a binary tree implementation. It is available as a RubyGem or standard Tar/ZIP packages.
|Tags||data structures tree Ruby Modules gem|
|Operating Systems||OS Independent|
The SVN source repository for RubyTree is now mirrored on GitHub. The URL to the repository is: http://wiki.github.com/evolve75/RubyTree The master is linked to the original Subversion repository, which is at: http://rubytree.rubyforge.org/svn/
Release Notes: This is a primarily a bugfix release with some packaging changes. The dependency on Hoe has been removed. The gem now builds with vanilla gemspecs. Support for Bundler has been added. Support for gem-testers has been added. The #as_json method has been implemented to support Rails JSON encoding. The TreeNode#siblings method now correctly returns an empty array for root nodes.
Release Notes: This maintenance release fixes a bug with the Tree::TreeNode#to_s method, which was breaking if @content or @parent.name were not string data types.
Release Notes: The main change in this version is conversion of all CamelCase method names to snake_case. The old CamelCase method names will still work (to ensure backwards compatibility), but will also display a warning. The TreeNode.add method now accepts an optional child insertion point, and the subtree from the current node can now be cloned in its entirety. This release also fixes a bug that impacted the Binarytree implementation.
Release Notes: New APIs and functions. Reworked documentation with cross references. New methods to report degree statistics, convert to and from JSON, and convenience methods. Edge case conditions and other minor bugs have been fixed.
Release Notes: The documentation was updated and refined.