class ActiveRecord::Encryption::Config

Container of configuration options

def add_previous_scheme(**properties)

def add_previous_scheme(**properties)
  previous_schemes << ActiveRecord::Encryption::Scheme.new(**properties)
end

def initialize

def initialize
  set_defaults
end

def previous=(previous_schemes_properties)

config.active_record.encryption.previous = [ { key_provider: MyOldKeyProvider.new } ]

Configure previous encryption schemes.
def previous=(previous_schemes_properties)
  previous_schemes_properties.each do |properties|
    add_previous_scheme(**properties)
  end
end

def set_defaults

def set_defaults
  self.store_key_references = false
  self.support_unencrypted_data = false
  self.encrypt_fixtures = false
  self.validate_column_size = true
  self.add_to_filter_parameters = true
  self.excluded_from_filter_parameters = []
  self.previous_schemes = []
  self.forced_encoding_for_deterministic_encryption = Encoding::UTF_8
  self.hash_digest_class = OpenSSL::Digest::SHA1
  self.compressor = Zlib
  # TODO: Setting to false for now as the implementation is a bit experimental
  self.extend_queries = false
end

def support_sha1_for_non_deterministic_encryption=(value)

def support_sha1_for_non_deterministic_encryption=(value)
  if value && has_primary_key?
    sha1_key_generator = ActiveRecord::Encryption::KeyGenerator.new(hash_digest_class: OpenSSL::Digest::SHA1)
    sha1_key_provider = ActiveRecord::Encryption::DerivedSecretKeyProvider.new(primary_key, key_generator: sha1_key_generator)
    add_previous_scheme key_provider: sha1_key_provider
  end
end