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.
420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 |
# File 'lib/sequel/plugins/xml_serializer.rb', line 420 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 |