class ActiveRecord::Encryption::Message
A message defines the structure of the data we store in encrypted attributes. It contains:
-
An encrypted payload
-
A list of unencrypted headers
Attributes
headers[RW]
payload[RW]
Public Class Methods
new(payload: nil, headers: {})
click to toggle source
# File lib/active_record/encryption/message.rb, line 14 def initialize(payload: nil, headers: {}) validate_payload_type(payload) @payload = payload @headers = Properties.new(headers) end
Public Instance Methods
==(other_message)
click to toggle source
# File lib/active_record/encryption/message.rb, line 21 def ==(other_message) payload == other_message.payload && headers == other_message.headers end
Private Instance Methods
validate_payload_type(payload)
click to toggle source
# File lib/active_record/encryption/message.rb, line 26 def validate_payload_type(payload) unless payload.is_a?(String) || payload.nil? raise ActiveRecord::Encryption::Errors::ForbiddenClass, "Only string payloads allowed" end end