Spec-Zone.ru › Ruby on Rails 8.1

class ActiveRecord::Encryption::MessageSerializer

Родитель:
Object

Сериализатор сообщений, который сериализует Messages с помощью JSON.

Сгенерированная структура довольно проста:

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

И полезная нагрузка, и значения заголовка кодируются с помощью Base64, чтобы предотвратить ошибки разбора JSON и проблемы с кодировкой при сохранении полученных сериализованных данных.

Открытые методы экземпляра

binary? () Показать исходный код
# File activerecord/lib/active_record/encryption/message_serializer.rb, line 36
def binary?
  false
end
dump (message) Показать исходный код
# 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
load (serialized_content) Показать исходный код
# 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.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API