Posted By: Anupam Sengupta
Date: 2014-01-04 04:30
Summary: RubyTree R0.9.2 Released
Project: Generic Tree Data Structure for Ruby

This is a feature and bug-fix release.

==== The Features

* Rubytree now supports +postordered+ traversal via the {Tree::TreeNode#postordered_each} method. Thanks to
to {https://github.com/pdecourcel Paul de Courcel} for this.

* The Binary tree now supports +inorder+ traversal via the
{Tree::BinaryTreeNode#inordered_each} method.

* Ability to merge in another tree at a chosen node, or merge two trees to
create a third tree. Thanks to {https://github.com/dazoakley Darren Oakley}
for this ({https://github.com/evolve75/RubyTree/pull/2 pull request #2})

* RubyTree now mixes in the {http://ruby-doc.org/core-1.8.7/Comparable.html
Comparable} module.

==== The Fixes

* (Partial) fix for preventing cyclic graphs in the tree

* Refactored the {Tree::TreeNode#each} method to prevent stack errors while navigating
deep trees ({https://github.com/evolve75/RubyTree/issues/12 issue #12})

* Check to ensure that the added node's name is unique to the destination tree
({https://github.com/evolve75/RubyTree/pull/9 merge #9}). Thanks to
{https://github.com/ysf Youssef Rebahi-Gilbert} for the idea and the initial
code

* Fix for {issue 23}[https://github.com/evolve75/RubyTree/issues/23], where the
tree traversal on a binary tree would fail if the _left_ child was +nil+

* The traversal methods ({Tree::TreeNode#each},
{Tree::TreeNode#preordered_each}, {Tree::TreeNode#postordered_each} and
{Tree::TreeNode#breadth_each}) now correctly return an
{http://ruby-doc.org/core-1.8.7/Enumerable.html Enumerator} as the
return value when no block is given, and return the receiver node if a block was
provided. This is consistent with how the standard Ruby collections work.

==== Other Changes

* Structural changes in the code to refactor out the non-core functions into
modules (mostly by extracting out non-core code as mixins).

* Significant refactoring of the documentation. The {http://yardoc.org Yardoc}
tags are now extensively used.

* Basic support built-in for including example code in the Gem. This will be
fully expanded in the next release.

* Various changes to the {http://bundler.io bundler}, {https://travis-ci.org
travis-ci} and other Rakefile related changes.

Latest News
TZInfo::Data v1.2014.2 Released
    Philip Ross - 2014-03-25 22:32
TZInfo v0.3.39 Released
    Philip Ross - 2014-03-09 20:23
TZInfo::Data v1.2014.1 Released
    Philip Ross - 2014-03-09 20:00
Automatic Ruby 14.2.0 has been released!
    id 774 - 2014-02-26 06:23
kramdown 1.3.2 released
    Thomas Leitner - 2014-02-16 08:35

 

Forums | Admin

Discussion Forums: rubytree-r0.9.2-released

Start New Thread Start New Thread

 

Topic Topic Starter Replies Last Post