Converter to be used with YAML::Serializable to serialize the Array(T) elements with the custom converter.
require "yaml"
class Timestamp
include YAML::Serializable
@[YAML::Field(converter: YAML::ArrayConverter(Time::EpochConverter))]
values : Array(Time)
end
timestamp = Timestamp.from_yaml(%({"values":[1459859781,1567628762]}))
timestamp.values # => [2016-04-05 12:36:21 UTC, 2019-09-04 20:26:02 UTC]
timestamp.to_yaml # => ---\nvalues:\n- 1459859781\n- 1567628762\n
© 2012–2020 Manas Technology Solutions.
Licensed under the Apache License, Version 2.0.
https://crystal-lang.org/api/0.35.1/YAML/ArrayConverter.html