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.
429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 |
# File 'lib/sequel/plugins/xml_serializer.rb', line 429 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 |