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
368 369 370 371 |
# Arquivo 'lib/mongo/protocol/serializers.rb', linha 368 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
348 349 350 351 352 353 354 355 356 |
# Arquivo 'lib/mongo/protocol/serializers.rb', linha 348 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.
378 379 380 |
# Arquivo 'lib/mongo/protocol/serializers.rb', linha 378 def auto.size_limited? true end |