123456789_123456789_123456789_123456789_123456789_

Class: ActiveRecord::Encryption::MessagePackMessageSerializer

Overview

A message serializer that serializes Messages with ::ActiveRecord::MessagePack.

The message is converted to a hash with this structure:

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

Then it is converted to the ::ActiveRecord::MessagePack format.

Instance Attribute Summary

Instance Method Summary

Instance Attribute Details

#binary?Boolean (readonly)

[ GitHub ]

  
# File 'activerecord/lib/active_record/encryption/message_pack_message_serializer.rb', line 34

def binary?
  true
end

Instance Method Details

#dump(message)

[ GitHub ]

  
# 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)

[ GitHub ]

  
# 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