module DataMapper
module Serialize
def to_xml(options = {})
xml = Builder::XmlMarkup.new(:indent => 2)
xml.instruct!
append_resource_xml(xml)
end
protected
def append_resource_xml(element)
element.__send__(xml_element_name) do |object|
self.class.properties(self.repository.name).each do |property|
object.__send__(property.name, self.send(property.name))
end
end
end
end
class Collection
def to_xml
xml = Builder::XmlMarkup.new(:indent => 2)
xml.instruct!
xml_name = @model.new.send(:xml_element_name)
xml.__send__(xml_name.pluralize) do |resources_element|
self.each do |object|
object.send(:append_resource_xml, resources_element)
end
end
end
end
end