Class: TinyDyno::Adapter::AttributeValue::Unmarshaler
- Inherits:
-
Object
- Object
- TinyDyno::Adapter::AttributeValue::Unmarshaler
- Defined in:
- lib/tiny_dyno/adapter/attributes.rb
Overview
AttributeValue
Instance Method Summary collapse
Instance Method Details
#format(obj) ⇒ Object
105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 |
# File 'lib/tiny_dyno/adapter/attributes.rb', line 105 def format(obj) type, value = extract_type_and_value(obj) case type when :m value.each.with_object({}) do |(k, v), map| map[k] = format(v) end when :l then value.map { |v| format(v) } when :s then value when :n if value.nil? nil else BigDecimal.new(value) end when :b then StringIO.new(value) when :null then nil when :bool then value when :ss then Set.new(value) when :ns then Set.new(value.map { |n| BigDecimal.new(n) }) when :bs then Set.new(value.map { |b| StringIO.new(b) }) else raise ArgumentError, "unhandled type #{type.inspect}" end end |