Class: Compo::HashBranch

Inherits:
HashComposite show all
Includes:
Branch
Defined in:
lib/compo/hash_branch.rb

Overview

A simple implementation of a branch, whose children are stored in an Hash

An HashBranch is a composite object that may be moved into other composite objects. It stores its children as an Hash, and the ID of each child is its hash key. Inserting and removing items into the HashBranch will not change the IDs of other items, but inserting with an existing key will remove the previous occupant.

This is an extension of HashComposite to include the Movable and ParentTracker mixins.

Instance Attribute Summary

Attributes included from ParentTracker

#parent

Attributes inherited from HashComposite

#children

Method Summary

Methods included from UrlReferenceable

#child_url, #parent, #url

Methods included from ParentTracker

#initialize, #remove_parent, #update_parent

Methods included from Movable

#move_to

Methods inherited from HashComposite

#initialize

Methods included from Composite

#add, #get_child, #remove, #remove_id