class ONIX::Serializer::Default::Date
Public Class Methods
serialize(xml, date, parent_tag = nil, level = 0)
click to toggle source
# File lib/onix/serializer.rb, line 109 def self.serialize(xml, date, parent_tag = nil, level = 0) deprecated_date_format = date.deprecated_date_format date_format = date.date_format || DateFormat.from_code("00") code_format = date.format_from_code(date_format.code) xml.send(parent_tag, nil) { date.class.ancestors_registered_elements.each do |tag, element| next if element.short val = date.instance_variable_get(element.to_instance) if val case tag when "DateFormat" if deprecated_date_format xml.DateFormat(date_format.code) end when "Date" if deprecated_date_format xml.Date(date.date.strftime(code_format)) else attrs = date.date_format ? { :dateformat => date_format.code } : {} xml.Date(date.date.strftime(code_format), attrs) end else ONIX::Serializer::Traverser.any_serialize(element.type, Default, xml, element.serialize_lambda(val), tag, level) end end end } end