класс ActiveJob::Serializers::ObjectSerializer
Base класс для сериализации и десериализации пользовательских объектов.
Пример:
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
Публичные методы экземпляра
# File activejob/lib/active_job/serializers/object_serializer.rb, line 42 def deserialize(json) raise NotImplementedError end
Десериализует аргумент из JSON-примитива.
# File activejob/lib/active_job/serializers/object_serializer.rb, line 37
def serialize(hash)
{ Arguments::OBJECT_SERIALIZER_KEY => self.class.name }.merge!(hash)
end Сериализует аргумент в JSON-примитив.
# File activejob/lib/active_job/serializers/object_serializer.rb, line 32 def serialize?(argument) argument.is_a?(klass) end
Определяет, должен ли аргумент сериализоваться сериализатором.
Приватные методы экземпляра
# File activejob/lib/active_job/serializers/object_serializer.rb, line 48 def klass # :doc: raise NotImplementedError end
Класс объекта, который будет сериализован.
© 2004–2021 David Heinemeier Hansson
Licensed under the MIT License.