Module: Concerns::Parentable::ClassMethods

Defined in:
app/models/concerns/parentable.rb

Instance Method Summary collapse

Instance Method Details

#flat_tree(parent_id: nil, list: []) ⇒ Object



27
28
29
30
31
32
33
34
35
36
# File 'app/models/concerns/parentable.rb', line 27

def flat_tree(parent_id: nil, list: [])
  children = name.constantize.where(parent_id: parent_id)

  children.each do |c|
    list << c
    list = self.flat_tree(parent_id: c.id, list: list) if c.children.any?
  end

  list
end