annotation CrSerializer::Annotations::PostDeserialize
Overview
Defines a callback method(s) that are ran directly after the object has been deserialized.
record Example, name : String, first_name : String?, last_name : String? do
include CrSerializer
@[CRS::PostDeserialize]
def split_name : Nil
@first_name, @last_name = @name.split(' ')
end
end
obj = Example.deserialize JSON, %({"name":"Jon Snow"})
obj.name # => Jon Snow
obj.first_name # => Jon
obj.last_name # => Snow