109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
|
# 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.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
|