Spec-Zone.ru › Ruby on Rails 8.1

class ActiveJob::Serializers::ObjectSerializer

Родительский класс:
Object
Подключённые модули:
Singleton

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

  def klass
    Money
  end
end

Публичные методы класса

new () Показать исходный код
# File activejob/lib/active_job/serializers/object_serializer.rb, line 31
def initialize
  super
  @template = { Serializers::OBJECT_SERIALIZER_KEY => self.class.name }.freeze
end
Вызывает метод суперкласса

Публичные методы экземпляра

deserialize (hash) Показать исходный код
# File activejob/lib/active_job/serializers/object_serializer.rb, line 47
def deserialize(hash)
  raise NotImplementedError, "#{self.class.name} should implement a public #deserialize(hash) method"
end

Десериализует аргумент из примитивного типа JSON.

serialize (hash) Показать исходный код
# File activejob/lib/active_job/serializers/object_serializer.rb, line 42
def serialize(hash)
  @template.merge(hash)
end

Сериализует аргумент в примитивный тип JSON.

serialize? (argument) Показать исходный код
# File activejob/lib/active_job/serializers/object_serializer.rb, line 37
def serialize?(argument)
  argument.is_a?(klass)
end

Определяет, следует ли сериализовать аргумент с помощью сериализатора.

© 2004–2021 David Heinemeier Hansson
Licensed under the MIT License.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API