Class: Dcc::Type::DecimalXmlList

Inherits:
Lutaml::Model::Type::Value
  • Object
show all
Defined in:
lib/dcc/type/decimal_xml_list.rb

Overview

Space-separated list of decimals, as used by D-SI *XMLList elements (e.g. <si:valueXMLList>306 373 448</si:valueXMLList>). Parses to/from an Array of BigDecimal values.

Class Method Summary collapse

Class Method Details

.cast(value) ⇒ Object



12
13
14
15
16
17
# File 'lib/dcc/type/decimal_xml_list.rb', line 12

def self.cast(value)
  return [] if value.nil?
  return value.map { |v| cast_one(v) } if value.is_a?(::Array)

  value.to_s.split(/\s+/).reject(&:empty?).map { |s| cast_one(s) }
end

.serialize(value) ⇒ Object



19
20
21
22
23
# File 'lib/dcc/type/decimal_xml_list.rb', line 19

def self.serialize(value)
  return "" if value.nil?

  Array(value).map { |v| serialize_one(v) }.join(" ")
end