Module: Mongo::Crypt

Defined in:
lib/mongo/crypt.rb,
lib/mongo/crypt/kms.rb,
lib/mongo/crypt/hooks.rb,
lib/mongo/crypt/binary.rb,
lib/mongo/crypt/handle.rb,
lib/mongo/crypt/status.rb,
lib/mongo/crypt/binding.rb,
lib/mongo/crypt/context.rb,
lib/mongo/crypt/kms_context.rb,
lib/mongo/crypt/encryption_io.rb,
lib/mongo/crypt/auto_encrypter.rb,
lib/mongo/crypt/kms/credentials.rb,
lib/mongo/crypt/data_key_context.rb,
lib/mongo/crypt/explicit_encrypter.rb,
lib/mongo/crypt/kms/aws/credentials.rb,
lib/mongo/crypt/kms/gcp/credentials.rb,
lib/mongo/crypt/kms/kmip/credentials.rb,
lib/mongo/crypt/kms/azure/credentials.rb,
lib/mongo/crypt/kms/local/credentials.rb,
lib/mongo/crypt/kms/azure/access_token.rb,
lib/mongo/crypt/auto_decryption_context.rb,
lib/mongo/crypt/auto_encryption_context.rb,
lib/mongo/crypt/kms/aws/master_document.rb,
lib/mongo/crypt/kms/gcp/master_document.rb,
lib/mongo/crypt/kms/master_key_document.rb,
lib/mongo/crypt/kms/kmip/master_document.rb,
lib/mongo/crypt/kms/azure/master_document.rb,
lib/mongo/crypt/kms/local/master_document.rb,
lib/mongo/crypt/explicit_decryption_context.rb,
lib/mongo/crypt/explicit_encryption_context.rb,
lib/mongo/crypt/rewrap_many_data_key_result.rb,
lib/mongo/crypt/rewrap_many_data_key_context.rb,
lib/mongo/crypt/kms/gcp/credentials_retriever.rb,
lib/mongo/crypt/kms/azure/credentials_retriever.rb,
lib/mongo/crypt/explicit_encryption_expression_context.rb

Defined Under Namespace

Modules: Hooks, KMS Classes: AutoDecryptionContext, AutoEncrypter, AutoEncryptionContext, Binary, Binding, Context, DataKeyContext, EncryptionIO, ExplicitDecryptionContext, ExplicitEncrypter, ExplicitEncryptionContext, ExplicitEncryptionExpressionContext, Handle, KmsContext, RewrapManyDataKeyContext, RewrapManyDataKeyResult, Status

Class Method Summary collapse

Class Method Details

.reset_autoloadObject

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.



49
50
51
52
# File 'lib/mongo/crypt/binding.rb', line 49

def reset_autoload
  remove_const(:Binding)
  autoload(:Binding, 'mongo/crypt/binding')
end

.validate_ffi!Object



40
41
42
43
44
45
46
47
48
# File 'lib/mongo/crypt.rb', line 40

def validate_ffi!
  return if defined?(FFI)

  require 'ffi'
rescue LoadError => e
  raise Error::UnmetDependency, 'Cannot enable encryption because the ffi gem ' \
                                "has not been installed. Add \"gem 'ffi'\" to your Gemfile and run " \
                                "\"bundle install\" to install the gem. (#{e.class}: #{e})"
end