module Sequel::Plugins::XmlSerializer::DatasetMethods

  1. lib/sequel/plugins/xml_serializer.rb

Methods

Public Instance

  1. to_xml

Public Instance methods

to_xml(opts=OPTS)

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.

[show source]
    # File lib/sequel/plugins/xml_serializer.rb
391 def to_xml(opts=OPTS)
392   raise(Sequel::Error, "Dataset#to_xml") unless row_proc || @opts[:eager_graph]
393   x = model.xml_builder(opts)
394   name_proc = model.xml_serialize_name_proc(opts)
395   array = if opts[:array]
396     opts = opts.dup
397     opts.delete(:array)
398   else
399     all
400   end
401   x.public_send(name_proc[opts.fetch(:array_root_name, model.send(:pluralize, model.send(:underscore, model.name))).to_s]) do |x1|
402     array.each do |obj|
403       obj.to_xml(opts.merge(:builder=>x1))
404     end
405   end
406   x.to_xml
407 end