Method: Factbase::ToXML#xml
- Defined in:
- lib/factbase/to_xml.rb
#xml ⇒ String
Convert the entire factbase into XML.
48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 |
# File 'lib/factbase/to_xml.rb', line 48 def xml bytes = @fb.export = { version: Factbase::VERSION, size: bytes.size } Nokogiri::XML::Builder.new(encoding: 'UTF-8') do |xml| xml.fb() do Factbase::Flatten.new(Marshal.load(bytes), @sorter).it.each do |m| xml.f_ do m.sort.to_h.each do |k, vv| if vv.is_a?(Array) xml.send(:"#{k}_") do vv.each do |v| xml.send(:v, to_str(v), t: type_of(v)) end end else xml.send(:"#{k}_", to_str(vv), t: type_of(vv)) end end end end end end.to_xml end |