Method: Sibu::SectionsConcern#update_element

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

#update_element(*ids, value) ⇒ Object



37
38
39
40
41
42
43
44
45
46
47
48
# File 'app/models/concerns/sibu/sections_concern.rb', line 37

def update_element(*ids, value)
  unless ids.blank?
    parent_section = find_or_init(*ids)["elements"]
    if parent_section.any? {|elt| elt["id"] == value["id"]}
      parent_section.map! {|elt| elt["id"] == value["id"] ? value : elt}
    else
      parent_section << value.to_h
    end

    value if save
  end
end