Method: Sibu::SectionsConcern#clone_element
- Defined in:
- app/models/concerns/sibu/sections_concern.rb
#clone_element(*ids, element_id) ⇒ Object
50 51 52 53 54 55 56 57 58 |
# File 'app/models/concerns/sibu/sections_concern.rb', line 50 def clone_element(*ids, element_id) src_elt = find_or_init(*ids, element_id) siblings = find_or_init(*ids)["elements"] ref_index = siblings.index {|s| s["id"] == element_id} new_elt = siblings[ref_index].deep_dup new_elt["id"] = "cl#{Time.current.to_i}" siblings.insert(ref_index + 1, new_elt) save ? new_elt : nil end |