Module: SortTree

Extended by:
ActiveSupport::Concern
Defined in:
lib/ztree/sort_tree.rb

Defined Under Namespace

Modules: ClassMethods

Instance Method Summary collapse

Instance Method Details

#sorted_childrenObject



22
23
24
# File 'lib/ztree/sort_tree.rb', line 22

def sorted_children
  children.sort_by{|c| c.order_num}
end

#sorted_children_idsObject



26
27
28
# File 'lib/ztree/sort_tree.rb', line 26

def sorted_children_ids
  sorted_children.inject([]) {|ids, c| ids << c.id} if !children.empty?
end

#update_order(num) ⇒ Object



34
35
36
# File 'lib/ztree/sort_tree.rb', line 34

def update_order(num)
  update_attribute(:order_num, num)
end

#update_order_numberObject



30
31
32
# File 'lib/ztree/sort_tree.rb', line 30

def update_order_number
  update_order(parent ? parent.children.size + 1 : 0)
end

#update_sorted_numbers(numbers) ⇒ Object



38
39
40
41
# File 'lib/ztree/sort_tree.rb', line 38

def update_sorted_numbers(numbers)
  return false if numbers.size != children.size
  self.class.update_sorted_numbers(numbers)
end