2 def self.included(base)
3 base.extend(ClassMethods)
4 base.__send__ :include, InstanceMethods
8 def panelize elements_attributes
9 elements_attributes = [elements_attributes] unless elements_attributes.is_a?(Array)
12 elements_attributes.each do |element_attributes|
13 hash[self.to_s.tableize + '_attributes'] ||= {}
14 n = if element_attributes['id']
15 element_attributes['id'].to_s
20 hash[self.to_s.tableize + '_attributes'][n] = element_attributes
26 module InstanceMethods
41 self.parts.each do |part|
42 new_part_attr = part ? part.class.panelize(part.copy_attributes) : {}
43 r.merge! new_part_attr
49 new_element = self.class.new self.copy_attributes
50 new_element.t = to_panel.new_t
51 new_element.z = to_panel.new_z
52 new_attr = new_element.class.panelize new_element.copy_attributes
53 r = {} #Panel.panelize to_panel
59 new_element = self.class.new self.copy_attributes
60 new_attr = new_element.class.panelize(new_element.copy_attributes, index)
61 r = {} #Panel.panelize to_panel