Class: ActiveRecord::Encryption::MessageSerializer
Relationships & Source Files | |
Inherits: | Object |
Defined in: | activerecord/lib/active_record/encryption/message_serializer.rb |
Overview
A message serializer that serializes Messages
with JSON.
The generated structure is pretty simple:
{
p: <payload>,
h: {
header1: value1,
header2: value2,
#...
}
}
Both the payload and the header values are encoded with Base64 to prevent JSON parsing errors and encoding issues when storing the resulting serialized data.
Instance Attribute Summary
- #binary? ⇒ Boolean readonly
Instance Method Summary
Instance Attribute Details
#binary? ⇒ Boolean
(readonly)
[ GitHub ]
# File 'activerecord/lib/active_record/encryption/message_serializer.rb', line 36
def binary? false end
Instance Method Details
#dump(message)
# File 'activerecord/lib/active_record/encryption/message_serializer.rb', line 31
def dump( ) raise ActiveRecord::Encryption::Errors::ForbiddenClass unless .is_a?(ActiveRecord::Encryption::Message) JSON.dump ( ) end
#load(serialized_content)
[ GitHub ]# File 'activerecord/lib/active_record/encryption/message_serializer.rb', line 24
def load(serialized_content) data = JSON.parse(serialized_content) (data, 1) rescue JSON::ParserError raise ActiveRecord::Encryption::Errors::Encoding end