略過內容 略過搜尋

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
Method
D
K
S
包含的模組

執行個體公開方法

deserialize(json)

從 JSON 原始類型取消序列化參數。

# File activejob/lib/active_job/serializers/object_serializer.rb, line 44
def deserialize(json)
  raise NotImplementedError
end

serialize(hash)

將參數序列化為 JSON 原始類型。

# File activejob/lib/active_job/serializers/object_serializer.rb, line 39
def serialize(hash)
  { Arguments::OBJECT_SERIALIZER_KEY => self.class.name }.merge!(hash)
end

serialize?(argument)

判斷參數是否應該由序列化器序列化。

# File activejob/lib/active_job/serializers/object_serializer.rb, line 34
def serialize?(argument)
  argument.is_a?(klass)
end

執行個體私用方法

klass()

將會序列化的物件的類別。

# File activejob/lib/active_job/serializers/object_serializer.rb, line 50
def klass # :doc:
  raise NotImplementedError
end