Clase: Mongo::Crypt::Status Privado
- Hereda:
-
Objeto
- Objeto
- Mongo::Crypt::Status
- Definido en:
- lib/mongo/crypt/status.rb
Overview
Esta clase forma parte de una API privada. Evita usar esta clase si es posible, ya que puede ser eliminada o modificada en el futuro.
Un contenedor alrededor de mongocrypt_status_t, que representa el estado de un manejador mongocrypt_t.
Resumen del método de clase colapsar
-
.from_pointer(punto) ⇒ Mongo::Crypt::Status
privado
Inicializa un objeto status desde un puntero existente a un objeto mongocrypt_status_t.
Resumen del método de instancia colapsar
-
#code ⇒ Integer
privado
Devuelve el código entero asociado con el estado.
-
#inicializar(puntero: nulo) ⇒ Estado
constructor
privado
Cree un nuevo objeto de estado.
-
#label ⇒ Symbol
privado
Devuelve la etiqueta del estado.
-
#message ⇒ String
privado
Devuelve el mensaje de estado.
-
#ok? ⇒ Boolean
privado
Comprueba si el estado está etiquetado como :ok.
-
#raise_crypt_error(kms: false) ⇒ Object
privado
Genera un Mongo::Error:CryptError correspondiente a la información almacenada en este estado.
-
#ref ⇒ FFI::Pointer
privado
Devuelve la referencia al objeto mongocrypt_status_t subyacente.
-
#actualizar(label, code, message) ⇒ Mongo::Crypt::Status
privado
Configura una etiqueta, un código y un mensaje en el Estado.
Detalles del Constructor
#initialize(pointer: nil) ⇒ Status
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Al inicializar un objeto Status con un puntero, es
Crear un nuevo objeto Estado
se recomienda utilizar el #self.from_pointer método
33 34 35 36 37 38 39 40 41 42 43 |
# Archivo 'lib/mongo/crypt/status.rb', línea 33 def inicializar(puntero: nulo) # Si se pasa un puntero, esta clase no es responsable de # destruir ese puntero y desalojar datos. # # FFI::AutoPointer utiliza una estrategia de liberación personalizada para liberar automáticamente # el puntero una vez que este objeto salga del alcance @status = puntero || FFI::Apuntador automático.Nuevo( Vinculante.mongocrypt_status_new, Vinculante.Método(:mongocrypt_status_destroy) ) end |
Detalles del método de clase
.from_pointer(pointer) ⇒ Mongo::Crypt::Status
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Inicializa un objeto status desde un puntero existente a un objeto mongocrypt_status_t.
52 53 54 |
# Archivo 'lib/mongo/crypt/status.rb', línea 52 def sí mismo.from_pointer(puntero) Nuevo(puntero: puntero) end |
Detalles del método de instancia
#code ⇒ Integer
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Devuelva el código numérico asociado con el estado.
88 89 90 |
# Archivo 'lib/mongo/crypt/status.rb', línea 88 def Código Vinculante.mongocrypt_status_code(@status) end |
#label ⇒ Symbol
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Devuelve la etiqueta del estado
81 82 83 |
# Archivo 'lib/mongo/crypt/status.rb', línea 81 def Etiqueta Vinculante.mongocrypt_status_type(@status) end |
#mensaje ⇒ string
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Devolver el mensaje de estado
95 96 97 98 |
# Archivo 'lib/mongo/crypt/status.rb', línea 95 def = Vinculante.(@status, nulo) || '' end |
#ok? ⇒ Boolean
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Comprueba si el estado lleva la etiqueta: ok
103 104 105 |
# Archivo 'lib/mongo/crypt/status.rb', línea 103 def ok? Vinculante.mongocrypt_status_ok(@status) end |
#raise_crypt_error(kms: false) ⇒ Object
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Si el parámetro kms es falso, el error aún puede haber venido de un KMS. El parámetro kms simplemente obliga a que todos los errores se traten como errores de KMS.
Genera un error Mongo::Error:CryptError correspondiente a la información almacenada en este estado
No hace nada si self.ok? es verdadero
125 126 127 128 129 130 131 132 133 134 135 |
# Archivo 'lib/mongo/crypt/status.rb', línea 125 def raise_crypt_error(KMS: false) return si ok? Error = si KMS || Etiqueta == :error_kms Error::KmsError.Nuevo(, código: Código) else Error::CryptError.Nuevo(, código: Código) end propagar Error end |
#ref ⇒ FFI::Pointer
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Devuelve la referencia al objeto subyacente mongocrypt_status_t
111 112 113 |
# Archivo 'lib/mongo/crypt/status.rb', línea 111 def ref @status end |
#actualizar(label, code, message) ⇒ Mongo::Crypt::Status
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Configuración de una etiqueta, código y mensaje en el Estado
63 64 65 66 67 68 69 70 71 72 73 74 75 |
# Archivo 'lib/mongo/crypt/status.rb', línea 63 def update(Etiqueta, Código, ) a menos que %i[Ok error_del_cliente error_kms].incluir?(Etiqueta) propagar ArgumentError.Nuevo( "#{label} es un valor no válido para una etiqueta Mongo::Crypt::Status. " + 'La etiqueta debe tener uno de los siguientes valores: :ok, :error_client, :error_kms' ) end = ? .bytesize + 1 : 0 Vinculante.mongocrypt_status_set(@status, Etiqueta, Código, , ) sí mismo end |