Class: ActiveRecord::Encryption::MessageSerializer
- Inherits:
-
Object
- Object
- ActiveRecord::Encryption::MessageSerializer
- Defined in:
- 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 Method Summary collapse
Instance Method Details
#binary? ⇒ Boolean
36 37 38 |
# File 'lib/active_record/encryption/message_serializer.rb', line 36 def binary? false end |
#dump(message) ⇒ Object
31 32 33 34 |
# File '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) ⇒ Object
24 25 26 27 28 29 |
# File '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 |