Class: Opencdd::RelationTree::Node
- Inherits:
-
Struct
- Object
- Struct
- Opencdd::RelationTree::Node
- Includes:
- Enumerable
- Defined in:
- lib/opencdd/relation_tree.rb
Instance Attribute Summary collapse
-
#children ⇒ Object
Returns the value of attribute children.
-
#relation ⇒ Object
Returns the value of attribute relation.
Instance Method Summary collapse
Instance Attribute Details
#children ⇒ Object
Returns the value of attribute children
5 6 7 |
# File 'lib/opencdd/relation_tree.rb', line 5 def children @children end |
#relation ⇒ Object
Returns the value of attribute relation
5 6 7 |
# File 'lib/opencdd/relation_tree.rb', line 5 def relation @relation end |
Instance Method Details
#depth ⇒ Object
13 14 15 16 |
# File 'lib/opencdd/relation_tree.rb', line 13 def depth return 1 if children.nil? || children.empty? 1 + children.map(&:depth).max end |
#each(&block) ⇒ Object
8 9 10 11 |
# File 'lib/opencdd/relation_tree.rb', line 8 def each(&block) block.call(self) (children || []).each { |c| c.each(&block) } end |
#size ⇒ Object
18 19 20 |
# File 'lib/opencdd/relation_tree.rb', line 18 def size 1 + (children || []).sum(&:size) end |