RubyTree is a pure Ruby implementation of the generic tree data structure. It
provides a node-based model to store named nodes in the tree, and provides
simple APIs to access, modify and traverse the structure.
The implementation is node-centric, where individual nodes in the tree are the
primary structural elements. All common tree-traversal methods (pre-order,
post-order, and breadth-first) are supported.
The library mixes in the Enumerable and Comparable modules to allow access to
the tree as a standard collection (iteration, comparison, etc.).
A Binary tree is also provided, which provides the in-order traversal in
addition to the other methods.
RubyTree supports importing from, and exporting to JSON, and also supports the
Ruby's standard object marshaling.
This is a BSD licensed open source project, and is hosted at
http://github.com/evolve75/RubyTree, and is available as a standard gem from
http://rubygems.org/gems/rubytree.
The home page for RubyTree is at http://rubytree.anupamsg.me.