Basic_tree is a project mainly written in Ruby, based on the MIT license.
A basic tree structure
= BasicTree
A basic Ruby tree structure with nice syntax.
== Example
fruit = BasicTree.new "Fruit" do add "Apple" do add "Red Delicious" end add "Banana" do add "Manzano" add "Plantain" end add "Orange" end
fruit.object
banana = fruit.get(2) # get the 2nd fruit banana.object # "Banana"
plantain = banana.get(2) # get the 2nd banana plantain.object # "Plantain"
plantain.parent.object # "Banana"
plantain.path.map(&:object)
plantain.ancestors.map(&:object) # ancestors is like path except it doesn't include itself
banana.subtree.map(&:object)
fruit.descendants.map(&:object) # descendants is like subtree except it doesn't include itself
banana.siblings.map(&:object)
plantain.root.object # "Fruit"
plantain.level # 3
banana.root? # false
fruit.root? # true
banana.leaf? # false
plantain.leaf? # true
== Note on Patches/Pull Requests
== Copyright
See LICENSE for details.