Change Log
All notable changes to this project will be documented in this file. This project adheres to Semantic Versioning and Keep a CHANGELOG.
0.3.1 - 2016-05-07
Added
- array-access operator and
fetch
onPath
for random access
Changed
- Lazy initialization of the internal hash. This improves extensibility, eg. by
not requiring asuper
call in the constructors ofTree
subclasses.
0.3.0 - 2016-04-23
Added
- support
Path
objects as input on the followingTree
methods:- the
Tree.[]
population constructor fetch
add
delete
replace
[]=
include_node?
leaf?
strict_leaf?
strict_leaves?
internal?
external?
- the
Tree#fetch_path
for fetching a child by path
Fixed
Tree#add
orTree#delete
now fail without making any changes, when given invalid input. Previously these command methods performed their operations
until the invalid input elements were encountered.Tree#delete
deleted paths, when they matched a given input path partially, e.g.Tree[a: 1] >> a: {1 => 2}
deleted successfully.
0.2.1 - 2016-04-07
Added
- assigning
nil
viaTree#[]=
removes a child tree, similar to the assignment ofSycamore::Nothing
Fixed
- #2: Rubinius support
0.2.0 - 2016-04-05
Added
- assigning
Sycamore::Nothing
viaTree#[]=
removes a child tree Tree#search
for searching the tree for one or multiple nodes or a treeTree#node!
as a more strict variant ofTree#node
, which raises an error when no node present
0.1.0 - 2016-03-28
Initial release