跳到內容 跳到搜尋

一個訊息序列化器,以 MessagePack 序列化 Messages

訊息會轉換為具備此結構的雜湊

{
  p: <payload>,
  h: {
    header1: value1,
    header2: value2,
    ...
  }
}

然後再轉換為 MessagePack 格式。

方法
B
D
L

執行個體公開方法

binary?()

# File activerecord/lib/active_record/encryption/message_pack_message_serializer.rb, line 34
def binary?
  true
end

dump(message)

# File activerecord/lib/active_record/encryption/message_pack_message_serializer.rb, line 22
def dump(message)
  raise Errors::ForbiddenClass unless message.is_a?(Message)
  ActiveSupport::MessagePack.dump(message_to_hash(message))
end

load(serialized_content)

# File activerecord/lib/active_record/encryption/message_pack_message_serializer.rb, line 27
def load(serialized_content)
  data = ActiveSupport::MessagePack.load(serialized_content)
  hash_to_message(data, 1)
rescue RuntimeError
  raise Errors::Decryption
end