Módulo: Mongo::Protocol::Serializers::Document Private
- Definido em:
- lib/mongo/protocol/serializers.rb
Visão geral
Este módulo faz parte de uma API privada. Você deve evitar usar este módulo, se possível, pois ele pode ser removido ou alterado no futuro.
Estratégia de serialização de protocolo de conexão do MongoDB para um documento BSON.
Serializa e deserializa um único documento.
Recolhimento do Resumo do método de classe
-
.desserializar(buffer, opções = {}) ➤ Hash
privado
Deserializa um documento do fluxo de IO.
-
.serializar(buffer, valor, max_bson_size = nil, _validating_keys = nil) ➤ String
privado
Serializa um documento no buffer.
-
.size_limited? ➤ verdadeiro
privado
Se pode haver um limite de tamanho para esse tipo após a serialização.
Detalhes do método de classe
.desserializar(buffer, opções = {}) ➤ Hash
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Deserializa um documento do fluxo de IO
366 367 368 369 |
# Arquivo 'lib/mongo/protocol/serializers.rb', linha 366 def auto.desserializar(buffer, = {}) Modo = [:deserialize_as_bson] ? :bson : nada BSON::Documento.from_bson(buffer, modo: Modo) end |
.serializar(buffer, valor, max_bson_size = nil, _validating_keys = nil) ⇒ String
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Serializa um documento no buffer
346 347 348 349 350 351 352 353 354 |
# Arquivo 'lib/mongo/protocol/serializers.rb', linha 346 def auto.serializar(buffer, valor, max_bson_size = nada, _validating_keys = nada) start_size = buffer.Tamanho valor.to_bson(buffer) serialized_size = buffer.Tamanho - start_size Método a menos que max_bson_size && serialized_size > max_bson_size aumentar Erro::MaxBSONSize, "O documento excede o tamanho máximo permitido do objeto BSON após a serialização. Tamanho serializado: #{serialized_size} bytes, maximum allow size: #{max_bson_size} bytes" end |
.size_limited? ➤ verdadeiro
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Se pode haver um limite de tamanho para esse tipo após a serialização.
376 377 378 |
# Arquivo 'lib/mongo/protocol/serializers.rb', linha 376 def auto.size_limited? true end |