Module: Marko::Model::TreeNode
Overview
Tree node
Instance Attribute Summary collapse
- #parent ⇒ TreeNode readonly
Instance Method Summary collapse
- #add(item) ⇒ Object
- #each {|_self| ... } ⇒ Object
- #nesting_level ⇒ Object
- #root ⇒ Object
- #root? ⇒ Boolean
Instance Attribute Details
#parent ⇒ TreeNode (readonly)
9 10 11 |
# File 'lib/marko/model/tree_node.rb', line 9 def parent @parent end |
Instance Method Details
#add(item) ⇒ Object
15 16 17 |
# File 'lib/marko/model/tree_node.rb', line 15 def add(item) fail "#{self.class}##{__method__} must be overridden" end |
#each {|_self| ... } ⇒ Object
11 12 13 |
# File 'lib/marko/model/tree_node.rb', line 11 def each(&block) yield self end |
#nesting_level ⇒ Object
27 28 29 30 |
# File 'lib/marko/model/tree_node.rb', line 27 def nesting_level return 0 if root? parent.nesting_level + 1 end |
#root ⇒ Object
19 20 21 |
# File 'lib/marko/model/tree_node.rb', line 19 def root parent ? parent.root : self end |
#root? ⇒ Boolean
23 24 25 |
# File 'lib/marko/model/tree_node.rb', line 23 def root? parent.nil? end |