Module: AbAdmin::Concerns::NestedSet::ClassMethods

Defined in:
lib/ab_admin/concerns/nested_set.rb

Instance Method Summary collapse

Instance Method Details

#build_tree(records) ⇒ Object



19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/ab_admin/concerns/nested_set.rb', line 19

def build_tree(records)
  tree = {}
  roots = []
  records.each do |record|
    if record.root?
      roots << record
      next
    end
    tree[record.parent_id] ||= []
    tree[record.parent_id] << record
  end
  roots.each do |root|
    root.tree_children(tree)
  end
  roots
end

#nested_opts(records, mover = nil) ⇒ Object



36
37
38
39
40
41
42
43
# File 'lib/ab_admin/concerns/nested_set.rb', line 36

def nested_opts(records, mover=nil)
  res = []
  records.each do |r|
    next if mover && mover.id == r.id
    res << ["#{'' * r.depth} #{AbAdmin.display_name(r)}", r.id]
  end
  res
end