Module: MMTree::InstanceMethods

Defined in:
lib/mm_tree.rb

Instance Method Summary collapse

Instance Method Details

#ancestorsObject



13
14
15
16
17
# File 'lib/mm_tree.rb', line 13

def ancestors
  node, nodes = self, []
  nodes << node = node.parent while node.parent_id
  nodes
end

#rootObject



7
8
9
10
11
# File 'lib/mm_tree.rb', line 7

def root
  node = self
  node = node.parent while node.parent_id
  node
end

#root?Boolean

Returns:

  • (Boolean)


3
4
5
# File 'lib/mm_tree.rb', line 3

def root?
  self.depth.zero?
end

#self_and_siblingsObject



19
20
21
# File 'lib/mm_tree.rb', line 19

def self_and_siblings
  parent ? parent.children : self.class.roots
end

#siblingsObject



23
24
25
26
27
# File 'lib/mm_tree.rb', line 23

def siblings
  siblings = self_and_siblings.dup
  siblings.shift
  siblings
end