class ActiveRecord::Encryption::Context
An encryption context configures the different entities used to perform encryption:
-
A key provider
-
A key generator
-
An encryptor, the facade to encrypt data
-
A cipher, the encryption algorithm
-
A message serializer
Constants
- PROPERTIES
Public Class Methods
Source
# File lib/active_record/encryption/context.rb, line 17 def initialize set_defaults end
Public Instance Methods
Source
# File lib/active_record/encryption/context.rb, line 24 def key_provider @key_provider ||= build_default_key_provider end
Private Instance Methods
Source
# File lib/active_record/encryption/context.rb, line 37 def build_default_key_provider ActiveRecord::Encryption::DerivedSecretKeyProvider.new(ActiveRecord::Encryption.config.primary_key) end
Source
# File lib/active_record/encryption/context.rb, line 29 def set_defaults self.frozen_encryption = false self.key_generator = ActiveRecord::Encryption::KeyGenerator.new self.cipher = ActiveRecord::Encryption::Cipher.new self.encryptor = ActiveRecord::Encryption::Encryptor.new self.message_serializer = ActiveRecord::Encryption::MessageSerializer.new end