Module: HashTree

Defined in:
lib/hash_tree.rb,
lib/hash_tree/version.rb

Overview

Simple tree of hashes

TODO

o Different interfaces:
    Stable (the default - attributes are cached recursively)
    Dynamic (for trees with non-trivial edits - attributes are cached dynamically)
    Dot (for dot functionality
    Algorithms

o XPath?!
o enumerators: descendants, ancestors, preorder, etc. etc.
o HashTree::Array
o Semantics of <=>: strictly partial so it returns nil on no common path?
o Drop <=> ?
o Implement #common to return common path of two elements
o Make is possible to include HashTree as a module instead of deriving from class
o []=
o #traverse filter?
o more elaborate selectors - emit, skip
    :include => emit node and continue to children
    :fetch => emit node but skip children
    :exclude => skip node and continue to children
    :prune => skip node and children

+ each
+ traverse
+ HashTree::Set, HashTree::Map

Defined Under Namespace

Classes: Error, KeyNotFound, Map, Node, Set

Constant Summary collapse

VERSION =
"0.2.0"