Module: Codecs::ArrayCodec
- Defined in:
- lib/emery/codecs.rb
Class Method Summary collapse
- .applicable?(type) ⇒ Boolean
- .deserialize(type, json_value) ⇒ Object
- .serialize(type, value) ⇒ Object
Class Method Details
.applicable?(type) ⇒ Boolean
29 30 31 |
# File 'lib/emery/codecs.rb', line 29 def self.applicable?(type) type.instance_of? T::ArrayType end |
.deserialize(type, json_value) ⇒ Object
32 33 34 35 36 37 38 |
# File 'lib/emery/codecs.rb', line 32 def self.deserialize(type, json_value) T.check_not_nil(type, json_value) if !json_value.is_a?(Array) raise JsonerError.new("JSON value type #{json_value.class} is not Array") end json_value.map { |item_json_value| Jsoner.deserialize(type.item_type, item_json_value) } end |
.serialize(type, value) ⇒ Object
39 40 41 42 43 44 |
# File 'lib/emery/codecs.rb', line 39 def self.serialize(type, value) if !value.is_a?(Array) raise JsonerError.new("Value type #{json_value.class} is not Array") end value.map { |item| Jsoner.serialize(type.item_type, item) } end |