Module: Traversal::ActsAsTraversable::InstanceMethods
- Defined in:
- lib/traversal/acts_as_traversable.rb
Instance Method Summary collapse
-
#traverse(*relations) ⇒ Object
Shortcut method, simplified interface to Traversal::Description.
Instance Method Details
#traverse(*relations) ⇒ Object
Shortcut method, simplified interface to Traversal::Description
Example
class TreeNode
attr_accessor :siblings
acts_as_traversable
end
t = TreeNode.new
t.traverse # equivalent to Traversal::Description.new.traverse(t)
t.traverse(:siblings) # equivalent to Traversal::Description.new.traverse(t).follow(:siblings)
34 35 36 |
# File 'lib/traversal/acts_as_traversable.rb', line 34 def traverse(*relations) Traversal::Description.new.traverse(self).tap { |desc| desc.follow(*relations) unless relations.empty? } end |