Module: Jumoku

Defined in:
lib/jumoku.rb,
lib/jumoku/version.rb,
lib/jumoku/builders/tree.rb,
lib/jumoku/raw_tree_node.rb,
lib/jumoku/support/branch.rb,
lib/jumoku/builders/shared.rb,
lib/jumoku/support/support.rb,
lib/jumoku/builders/extended.rb,
lib/jumoku/classes/tree_classes.rb,
lib/jumoku/builders/arborescence.rb,
lib/jumoku/builders/raw_directed_tree.rb,
lib/jumoku/builders/raw_undirected_tree.rb

Overview

Jumoku provides you with several modules and classes to build and manipulate tree graphs. Two basic implementations are available: undirected trees (RawUndirectedTree) and directed trees (RawDirectedTree).

Tree is derived from the undirected flavour and sticks to the mathematical tree definition. Arborescence is derived from the directed flavour and is likely to be used as the basis to modelize hierarchy structures, such as a family tree, a file browser…

Note that a node can be any Object. There is no “node type”, therefore arguments which re expected to be nodes are simply labelled as “‘node`” within this documentation. A nice object type to use as a node may be an OpenStruct or an [OpenObject](facets.rubyforge.org/apidoc/api/more/classes/OpenObject.html) (from the Facets library), both turning nodes into versatile handlers.

Defined Under Namespace

Modules: ArborescenceBuilder, Branch, Extended, RawDirectedTreeBuilder, RawTree, RawUndirectedTreeBuilder, Shared, TreeBuilder Classes: Arborescence, BranchAlreadyExistError, DirectedBranch, ForbiddenCycle, JumokuError, RawDirectedTree, RawTreeError, RawTreeNodeError, RawUndirectedTree, Tree, UndefinedNode, UndirectedBranch

Constant Summary collapse

MAJOR =
0
MINOR =
2
PATCH =
1
VERSION =
[MAJOR, MINOR, PATCH].join('.')