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
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 Status con un puntero, es
Crear un nuevo objeto Estado
se recomienda utilizar el #self.from_pointer método
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 # 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 forma parte de una API privada. Debe evitarlo 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.
54 55 56 |
# Archivo 'lib/mongo/crypt/status.rb', línea 54 def sí mismo.from_pointer(puntero) sí mismo.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.
Devuelva el código numérico 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 ⇒ string
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 lleva la etiqueta: 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: false) ⇒ Object
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 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
127 128 129 130 131 132 133 134 135 136 137 |
# Archivo 'lib/mongo/crypt/status.rb', línea 127 def raise_crypt_error(KMS: false) return si ok? si KMS || 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::Pointer
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 subyacente mongocrypt_status_t
113 114 115 |
# Archivo 'lib/mongo/crypt/status.rb', línea 113 def ref @status end |
#actualizar(label, code, message) ⇒ 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.
Configuración de una etiqueta, código y 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 menos que [ok, :error_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_cliente, :error_kms" ) end = ? .bytesize + 1 : 0 Vinculante.mongocrypt_status_set(@status, etiqueta, Código, , ) sí mismo end |