class ActiveRecord::Encryption::Message
See Encryptor#encrypt
* A list of unencrypted headers
* An encrypted payload
A message defines the structure of the data we store in encrypted attributes. It contains:
def ==(other_message)
def ==(other_message) payload == other_message.payload && headers == other_message.headers end
def initialize(payload: nil, headers: {})
def initialize(payload: nil, headers: {}) validate_payload_type(payload) @payload = payload @headers = Properties.new(headers) end
def validate_payload_type(payload)
def validate_payload_type(payload) unless payload.is_a?(String) || payload.nil? raise ActiveRecord::Encryption::Errors::ForbiddenClass, "Only string payloads allowed" end end