# regist stored element
def editize
- self.register @root_item
- @root_item.each_elements(self.name) do |element|
- self.register element
- end
+ @root_item.boosts 'post'
+ self.register nil, @root_item
+ editize_element @root_item
end
- def register item
- @item.editor = @editor
- parent_model = item.parent_model(@editor.name)
- if parent_model
- item.parent = find
+ def editize_element parent
+ parent.class.child_element_names.each do |element_name|
+ e = parent.__send__ element_name
+ e = [e] unless e.respond_to?(:each)
+ e.each do |element_item|
+ element_item.boosts 'post'
+ self.register parent, element_item
+ self.editize_element element_item
+ end
end
+ end
+
+ def register parent, item
+ item.extend Peta::Editize
+ item.editor = @editor
+ item.parent = parent if parent
if item.new_record?
- if parent_model
- # element
- item.parent__send__ "build_#{parent_model.child_element_name(item.item_name)}"
- else
- # root
-
- end
item.pool_id = @index
@index += 1
else