Module: SortTree::ClassMethods

Defined in:
lib/ztree/sort_tree.rb

Instance Method Summary collapse

Instance Method Details

#all_parentsObject



17
18
19
# File 'lib/ztree/sort_tree.rb', line 17

def all_parents
  all.select {|c| c.has_children? || c.ancestry.nil?}
end

#sortedObject



6
7
8
9
10
11
# File 'lib/ztree/sort_tree.rb', line 6

def sorted
  all_parents.inject([]) do |cs, r|
    cs << r
    cs << r.sorted_children
  end.flatten.uniq
end

#update_sorted_numbers(numbers) ⇒ Object



13
14
15
# File 'lib/ztree/sort_tree.rb', line 13

def update_sorted_numbers(numbers)
  numbers.each_with_index {|id, i| self.find(id).update_order(i + 1)}
end