Clase: Mongo::Protocol::CachingHash Privado

Hereda:
Objeto
  • Objeto
Mostrar todo
Definido en:
lib/mongo/protocolo/caching_hash.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 Hash que almacena en caché los resultados de #to_bson.

Resumen del método de instancia colapsar

Detalles del Constructor

#initialize(hash) ⇒ CachingHash

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 una nueva instancia de CachingHash.



23
24
25
# Archivo 'lib/mongo/protocol/caching_hash.rb', línea 23

def inicializar(hash)
  @hash = hash
end

Detalles del método de instancia

#tipo_bsonobjeto

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.



27
28
29
# Archivo 'lib/mongo/protocol/caching_hash.rb', línea 27

def bson_type
  encriptada::BSON_TYPE
end

#to_bson(buffer = BSON::ByteBuffer.new, _validating_keys = nil) ⇒ BSON::ByteBuffer

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.

Almacena en caché el resultado de to_bson y lo escribe en el búfer dado en las llamadas posteriores a este método. Si este método se llama originalmente sin validación y luego se llama con validación, querremos recalcular el to_bson para activar las validaciones.

Parámetros:

  • buffer (BSON::ByteBuffer) (por defecto: BSON::ByteBuffer.new)

    El buffer BSON codificado para adjuntar.

  • validating_keys (true, false)

    Si las claves deben validarse al serializar. Esta opción está obsoleta y no se utilizará. Será eliminado en la versión 3.0.

Devuelve:

  • (BSON::ByteBuffer)

    La memoria intermedia con el objeto codificado.



41
42
43
44
# Archivo 'lib/mongo/protocol/caching_hash.rb', línea 41

def to_bson(buffer = BSON::ByteBuffer.Nuevo, _validating_keys = nulo)
  @bytes ||= @hash.to_bson(BSON::ByteBuffer.Nuevo).to_s
  buffer.put_bytes(@bytes)
end