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
Inherits From
-
module
Singleton
Public instance methods
Deserializes an argument from a JSON primitive type.
Source code GitHub
# File activejob/lib/active_job/serializers/object_serializer.rb, line 44
def deserialize(json)
raise NotImplementedError
end
Serializes an argument to a JSON primitive type.
Source code GitHub
# File activejob/lib/active_job/serializers/object_serializer.rb, line 39
def serialize(hash)
{ Arguments::OBJECT_SERIALIZER_KEY => self.class.name }.merge!(hash)
end
Determines if an argument should be serialized by a serializer.
Source code GitHub
# File activejob/lib/active_job/serializers/object_serializer.rb, line 34
def serialize?(argument)
argument.is_a?(klass)
end
Private instance methods
The class of the object that will be serialized.
Source code GitHub
# File activejob/lib/active_job/serializers/object_serializer.rb, line 50
def klass # :doc:
raise NotImplementedError
end