4 attr_accessor :editor, :root_item, :pool, :index
5 def initialize editor, root_item
13 # regist stored element
16 self.register nil, @root_item
17 editize_element @root_item
20 def editize_element parent
21 parent.class.child_element_names(@editor.name).each do |element_name|
22 e = parent.__send__ element_name
23 e = [e] unless e.respond_to? :each
26 self.register parent, element
27 self.editize_element element
32 def register parent, item
33 item.extend Peta::Editize
35 item.parent = parent if parent
40 item.pool_id = item.id
42 @pool[item.item_name] ||= {'stored' => {}, 'new' => {}}
43 @pool[item.item_name][item.dom_pool_type] ||= {}
44 @pool[item.item_name][item.dom_pool_type][item.pool_id] = item