Clase: Mongo::Crypt::Status Privado
- Hereda:
-
Objeto
- Objeto
- Mongo::Crypt::Estado
- Definido en:
- lib/mongo/crypt/status.rb
Overview
Esta clase forma parte de una API privada. Debe evitar usarla siempre que sea posible, ya que podría eliminarse o modificarse en el futuro.
Un envoltorio alrededor de mongocrypt_status_t, que representa el estado de un identificador mongocrypt_t.
Colapso delresumen del método de clase
-
.from_pointer(puntero) ⇒ Mongo::Crypt::Status
privada
Inicializar un objeto de estado desde un puntero existente a un objeto mongocrypt_status_t.
Colapso del resumen del método de instancia
-
#code ⇒ Integer
privada
Devuelve el código entero asociado con el estado.
-
#inicializar(puntero: nil) ⇒ Estado
constructor
privada
Cree un nuevo objeto de estado.
-
#label ⇒ Symbol
privada
Devuelve la etiqueta del estado.
-
#mensaje ⇒ Cadena
privada
Devolver el mensaje de estado.
-
#ok? ⇒ Boolean
privada
Comprueba si el estado está etiquetado como :ok.
-
#raise_crypt_error(kms: falso) ⇒ Objeto
privada
Genera un Mongo::Error:CryptError correspondiente a la información almacenada en este estado.
-
#ref ⇒ FFI::Puntero
privada
Devuelve la referencia al objeto mongocrypt_status_t subyacente.
-
#actualización(etiqueta, código, mensaje) ⇒ Mongo::Crypt::Status
privada
Establezca una etiqueta, un código y un mensaje en el estado.
Detalles del constructor
#initialize(pointer: nil) ⇒ Status
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Al inicializar un objeto de estado con un puntero, es
Crear un nuevo objeto de estado
Se recomienda que utilice el método #self.from_pointer
35 36 37 38 39 40 41 42 43 44 45 |
# Archivo 'lib/mongo/crypt/status.rb', línea 35 def inicializar(puntero: nulo) # Si se pasa un puntero, esta clase no es responsable de # destruyendo ese puntero y desasignando datos. # # FFI::AutoPointer utiliza una estrategia de liberación personalizada para liberar automáticamente # el puntero una vez que este objeto sale del ámbito @status = puntero || FFI::Puntero automático.Nuevo( Vinculante.estado de mongocrypt_nuevo, Vinculante.Método(:mongocrypt_status_destroy) ) end |
Detalles del método de clase
.from_pointer(pointer) ⇒ Mongo::Crypt::Status
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Inicializar un objeto de estado desde un puntero existente a un objeto mongocrypt_status_t.
54 55 56 |
# Archivo 'lib/mongo/crypt/status.rb', línea 54 def yo.desde_puntero(puntero) yo.Nuevo(puntero: puntero) end |
Detalles del método de instancia
#code ⇒ Integer
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Devuelve el código entero asociado con el estado
90 91 92 |
# Archivo 'lib/mongo/crypt/status.rb', línea 90 def Código Vinculante.mongocrypt_status_code(@status) end |
#label ⇒ Symbol
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Devolver la etiqueta del estado
83 84 85 |
# Archivo 'lib/mongo/crypt/status.rb', línea 83 def etiqueta Vinculante.mongocrypt_status_type(@status) end |
#mensaje ⇒ Cadena
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Devolver el mensaje de estado
97 98 99 100 |
# Archivo 'lib/mongo/crypt/status.rb', línea 97 def = Vinculante.(@status, nulo) || '' end |
#ok? ⇒ Boolean
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Comprueba si el estado está etiquetado como :ok
105 106 107 |
# Archivo 'lib/mongo/crypt/status.rb', línea 105 def ok? Vinculante.mongocrypt_status_ok(@status) end |
#raise_crypt_error(kms: falso) ⇒ Objeto
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Si el parámetro kms es falso, el error podría provenir de un KMS. El parámetro kms simplemente obliga a que todos los errores se traten como errores de KMS.
Genera un Mongo::Error:CryptError correspondiente a la información almacenada en este estado
¿No hace nada si self.ok? es verdadero
127 128 129 130 131 132 133 134 135 136 137 |
# Archivo 'lib/mongo/crypt/status.rb', línea 127 def error de cifrado(kilómetros: false) return Si ok? Si kilómetros || etiqueta == :error_kms Error = Error::KmsError.Nuevo(, código: Código) else Error = Error::CryptError.Nuevo(, código: Código) end propagar Error end |
#ref ⇒ FFI::Puntero
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Devuelve la referencia al objeto mongocrypt_status_t subyacente
113 114 115 |
# Archivo 'lib/mongo/crypt/status.rb', línea 113 def ref @status end |
#actualización(etiqueta, código, mensaje) ⇒ Mongo::Crypt::Status
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Establezca una etiqueta, un código y un mensaje en el Estado
65 66 67 68 69 70 71 72 73 74 75 76 77 |
# Archivo 'lib/mongo/crypt/status.rb', línea 65 def update(etiqueta, Código, ) a no ser que [:OK, :error_cliente, :error_kms].¿incluir?(etiqueta) propagar ArgumentError.Nuevo( "#{label} es un valor no válido para una etiqueta Mongo::Crypt::Status. " + "Laetiqueta debe tener uno de los siguientes valores::ok,:error_client,:error_kms" ) end = ? .bytesize + 1 : 0 Vinculante.mongocrypt_status_set(@status, etiqueta, Código, , ) yo end |