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
方法
- D
- N
- S
包含的模块
类公共方法
new() 链接
源代码: 显示 | 在 GitHub 上
# File activejob/lib/active_job/serializers/object_serializer.rb, line 31 def initialize super @template = { Arguments::OBJECT_SERIALIZER_KEY => self.class.name }.freeze end
实例公共方法
deserialize(hash) 链接
从 JSON 原始类型反序列化参数。
源代码: 显示 | 在 GitHub 上
# 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
serialize(hash) 链接
将参数序列化为 JSON 原始类型。
源代码: 显示 | 在 GitHub 上
# File activejob/lib/active_job/serializers/object_serializer.rb, line 42 def serialize(hash) @template.merge(hash) end
serialize?(argument) 链接
确定是否应由序列化器序列化参数。
源代码: 显示 | 在 GitHub 上
# File activejob/lib/active_job/serializers/object_serializer.rb, line 37 def serialize?(argument) argument.is_a?(klass) end