module Mongoid::Acts::NestedSet::OutlineNumber::InstanceMethods

Public Instance Methods

outline_number() click to toggle source
# File lib/mongoid_nested_set/outline_number.rb, line 74
def outline_number
  self[outline_number_field_name]
end
update_descendants_outline_number() click to toggle source
# File lib/mongoid_nested_set/outline_number.rb, line 89
def update_descendants_outline_number
  self.class.update_outline_numbers(self.descendants, self.outline_number)
end
update_outline_number() click to toggle source
# File lib/mongoid_nested_set/outline_number.rb, line 79
def update_outline_number
  self.class.update_outline_numbers(self)
end
update_self_and_descendants_outline_number() click to toggle source
# File lib/mongoid_nested_set/outline_number.rb, line 84
def update_self_and_descendants_outline_number
  self.class.update_outline_numbers(self_and_descendants)
end

Protected Instance Methods

build_outline_number(parent_number, sequence) click to toggle source

Constructs the full outline number

# File lib/mongoid_nested_set/outline_number.rb, line 108
def build_outline_number(parent_number, sequence)
  if parent_number && parent_number != ''
    parent_number + outline_number_seperator + sequence.to_s
  else
    sequence.to_s
  end
end
outline_number_seperator() click to toggle source
# File lib/mongoid_nested_set/outline_number.rb, line 116
def outline_number_seperator
  '.'
end
outline_number_sequence(prev_siblings) click to toggle source

Gets the outline sequence number for this node

For example, if the parent’s outline number is 1.2 and this is the 3rd sibling this will return 3.

# File lib/mongoid_nested_set/outline_number.rb, line 101
def outline_number_sequence(prev_siblings)
  prev_siblings.count + 1
end