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. Debe evitar usarla siempre que sea posible, ya que podría eliminarse o modificarse en el futuro.

Un hash que almacena en caché los resultados de #to_bson.

Colapso del resumen del método de instancia

Detalles del constructor

#inicializar(hash) ⇒ CachingHash

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



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

def inicializar(hash)
  @picadillo = hash
end

Detalles del método de instancia

#bson_typeObjeto

Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.



30
31
32
# Archivo 'lib/mongo/protocol/caching_hash.rb', línea 30

def bson_type
  Picadillo::BSON_TYPE
end

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

Este método forma parte de una API privada. Debe evitarlo 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 indicado en las llamadas subsiguientes a este método. Si este método se invoca inicialmente sin validación y posteriormente con validación, será necesario recalcular to_bson para activar las validaciones.

Parámetros:

  • buffer (BSON::Búfer de bytes) (predeterminado: BSON::ByteBuffer.new)

    El búfer BSON codificado al que se agregará.

  • validando_claves (verdadero,falso) (predeterminado: nulo)

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

Devuelve:

  • (BSON::ByteBuffer)

    El búfer con el objeto codificado.



44
45
46
47
48
49
# Archivo 'lib/mongo/protocol/caching_hash.rb', línea 44

def a_bson(buffer = BSON::Búfer de bytes.Nuevo, validando_claves = nulo)
  Si !@bytes
    @bytes = @picadillo.a_bson(BSON::Búfer de bytes.Nuevo).a_s
  end
  buffer.poner_bytes(@bytes)
end