класс ActiveRecord::Encryption::MessageSerializer
Сериализатор сообщений, который сериализует Messages с помощью JSON.
Сгенерированная структура довольно проста:
{
p: <payload>,
h: {
header1: value1,
header2: value2,
...
}
} И значения полезной нагрузки, и значения заголовка кодируются с помощью Base64 для предотвращения ошибок парсинга JSON и проблем с кодировкой при хранении результирующих сериализованных данных.
Публичные методы экземпляров
# File activerecord/lib/active_record/encryption/message_serializer.rb, line 31 def dump(message) raise ActiveRecord::Encryption::Errors::ForbiddenClass unless message.is_a?(ActiveRecord::Encryption::Message) JSON.dump message_to_json(message) end
# File activerecord/lib/active_record/encryption/message_serializer.rb, line 24 def load(serialized_content) data = JSON.parse(serialized_content) parse_message(data, 1) rescue JSON::ParserError raise ActiveRecord::Encryption::Errors::Encoding end
© 2004–2021 David Heinemeier Hansson
Licensed under the MIT License.