Method: Sibu::SectionsConcern#find_or_init

Defined in:
app/models/concerns/sibu/sections_concern.rb

#find_or_init(*ids) ⇒ Object



119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
# File 'app/models/concerns/sibu/sections_concern.rb', line 119

def find_or_init(*ids)
  node = nil
  siblings = sections
  ids.each do |elt_id|
    node = elt(siblings, elt_id)
    if node.nil?
      node = {"id" => elt_id, "elements" => []}
      siblings << node
    elsif node["elements"].nil?
      node["elements"] = []
    end
    siblings = node["elements"]
  end
  node
end