Sha256: 1acb825a867d2774ba755977a6b7c1bc6ed0bab9cfd2c20351e23ed9133985b0
Contents?: true
Size: 875 Bytes
Versions: 18
Compression:
Stored size: 875 Bytes
Contents
# frozen_string_literal: true module ActiveRecord module Encryption # A message defines the structure of the data we store in encrypted attributes. It contains: # # * An encrypted payload # * A list of unencrypted headers # # See +Encryptor#encrypt+ class Message attr_accessor :payload, :headers def initialize(payload: nil, headers: {}) validate_payload_type(payload) @payload = payload @headers = Properties.new(headers) end def ==(other_message) payload == other_message.payload && headers == other_message.headers end private def validate_payload_type(payload) unless payload.is_a?(String) || payload.nil? raise ActiveRecord::Encryption::Errors::ForbiddenClass, "Only string payloads allowed" end end end end end
Version data entries
18 entries across 16 versions & 2 rubygems