class ActiveJob::Serializers::ObjectSerializer
Base
class for serializing and deserializing custom objects.
Example:
class MoneySerializer < ActiveJob::Serializers::ObjectSerializer def serialize(money) super("amount" => money.amount, "currency" => money.currency) end def deserialize(hash) Money.new(hash["amount"], hash["currency"]) end private def klass Money end end
Public Instance Methods
deserialize(json)
click to toggle source
Deserializes an argument from a JSON primitive type.
# File lib/active_job/serializers/object_serializer.rb, line 42 def deserialize(json) raise NotImplementedError end
serialize(hash)
click to toggle source
Serializes an argument to a JSON primitive type.
# File lib/active_job/serializers/object_serializer.rb, line 37 def serialize(hash) { Arguments::OBJECT_SERIALIZER_KEY => self.class.name }.merge!(hash) end
serialize?(argument)
click to toggle source
Determines if an argument should be serialized by a serializer.
# File lib/active_job/serializers/object_serializer.rb, line 32 def serialize?(argument) argument.is_a?(klass) end
Private Instance Methods
klass()
click to toggle source
The class of the object that will be serialized.
# File lib/active_job/serializers/object_serializer.rb, line 48 def klass # :doc: raise NotImplementedError end