Module: Sequel::Plugins::XmlSerializer::DatasetMethods
- Defined in:
- lib/sequel/plugins/xml_serializer.rb
Instance Method Summary collapse
-
#to_xml(opts = {}) ⇒ Object
Return an XML string containing all model objects specified with this dataset.
Instance Method Details
#to_xml(opts = {}) ⇒ Object
Return an XML string containing all model objects specified with this dataset. Takes all of the options available to Model#to_xml, as well as the :array_root_name option for specifying the name of the root node that contains the nodes for all of the instances.
320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 |
# File 'lib/sequel/plugins/xml_serializer.rb', line 320 def to_xml(opts={}) raise(Sequel::Error, "Dataset#to_xml") unless row_proc x = model.xml_builder(opts) name_proc = model.xml_serialize_name_proc(opts) array = if opts[:array] opts = opts.dup opts.delete(:array) else all end x.send(name_proc[opts.fetch(:array_root_name, model.send(:pluralize, model.send(:underscore, model.name))).to_s]) do |x1| array.each do |obj| obj.to_xml(opts.merge(:builder=>x1)) end end x.to_xml end |