Class: Mongo::Crypt::AutoEncryptionContext Private

Inherits:
Context
  • Object
show all
Defined in:
lib/mongo/crypt/auto_encryption_context.rb

Overview

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

A Context object initialized for auto encryption

Instance Attribute Summary

Attributes inherited from Context

#ctx_p

Instance Method Summary collapse

Methods inherited from Context

#run_state_machine, #state

Constructor Details

#initialize(mongocrypt, io, db_name, command) ⇒ AutoEncryptionContext

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.

Create a new AutoEncryptionContext object

Parameters:

  • mongocrypt (Mongo::Crypt::Handle)

    a Handle that wraps a mongocrypt_t object used to create a new mongocrypt_ctx_t

  • io (ClientEncryption::IO)

    A instance of the IO class that implements driver I/O methods required to run the state machine

  • db_name (String)

    The name of the database against which the command is being made

  • command (Hash)

    The command to be encrypted



36
37
38
39
40
41
42
43
44
# File 'lib/mongo/crypt/auto_encryption_context.rb', line 36

def initialize(mongocrypt, io, db_name, command)
  super(mongocrypt, io)

  @db_name = db_name
  @command = command

  # Initialize the ctx object for auto encryption
  Binding.ctx_encrypt_init(self, @db_name, @command)
end