Classe: Mongo::Grid::File::Chunk
- Herda:
-
Objeto
- Objeto
- Mongo::Grid::File::Chunk
- Definido em:
- lib/mongo/grid/file/chunk.rb
Visão geral
Encapsula o comportamento em torno de blocos GridFS de dados de arquivo.
Colapsode resumo constante
- collection =
Nome da collection de chunks.
'Partes'- DEFAULT_SIZE =
Tamanho padrão para chunks de dados.
(255 * 1024)
Recolhimento do Resumo do atributo de instância
-
#document ➤ BSON::Document
Somente leitura
Documento O documento a ser armazenado para o chunk.
Recolhimento do Resumo do método de classe
-
.montar(pedaços) ➤ string
privado
Pega uma array de chunks e os monta de volta na peça completa de dados brutos.
-
.divisão(io, file_info, offset = 0) } Array<Chunk>
privado
Divida os dados fornecidos em vários blocos.
Recolhimento do Resumo do método de instância
-
#==(outro) ➤ verdadeiro, falso
Verifique a igualdade do chunk.
-
#bson_type ⇒ Integer
Obtenha o tipo BSON para um documento chunk .
-
#data ➤ BSON::Binary
Obtenha os dados do bloco.
-
#Files_id ➤ BSON::ObjectId
Obtenha o ID dos arquivos.
-
#id ⇒ BSON::ObjectId
Obtenha o ID do bloco.
-
#initialize(documento) ➤ Chunk
construtor
Crie o novo chunk.
-
#n ➤ Inteiro
Obtenha a posição do bloco.
-
#to_bson(buffer = BSON::ByteBuffer.new, _validating_keys = nil) ➤ String
Converta o chunk em BSON para armazenamento.
Detalhes do construtor
#initialize(documento) ➤ Chunk
Crie o novo chunk.
123 124 125 |
# Arquivo 'lib/mongo/grid/file/chunk.rb', linha 123 def inicializar(documento) @document = BSON::Documento.Novo(_id: BSON::ObjectId.Novo).mesclar(documento) end |
Detalhes do atributo da instância
#document ➤ BSON::Document (readonly)
Retorna documento O documento a ser armazenado para o chunk.
36 37 38 |
# Arquivo 'lib/mongo/grid/file/chunk.rb', linha 36 def documento @document end |
Detalhes do método de classe
.montar(pedaços) ➤ 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.
Pega uma array de chunks e os monta de volta na peça completa de dados brutos.
156 157 158 |
# Arquivo 'lib/mongo/grid/file/chunk.rb', linha 156 def montar(Partes) Partes.reduzir(+'') { |de dados, chunk| de dados << chunk.de dados.de dados } end |
.divisão(io, file_info, offset = 0) ➤ Array<Chunk>
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.
Divida os dados fornecidos em vários blocos.
173 174 175 176 177 178 179 180 181 182 183 184 |
# Arquivo 'lib/mongo/grid/file/chunk.rb', linha 173 def dividir(io, file_info, offset = 0) io = StringIO.Novo(io) se io.is_a?(String) peças = Enumerador.Novo { |y| y << io.ler(file_info.chunk_size) até que io.eof? } peças.map.with_index fazer |bytes, n| file_info.update_md5(bytes) parte.Novo( dados: BSON::Binário.Novo(bytes), arquivos_id: file_info.id, n: n + offset ) end end |
Detalhes do método de instância
#==(outro) ➤ true, false
Verifique a igualdade do chunk.
48 49 50 51 52 |
# Arquivo 'lib/mongo/grid/file/chunk.rb', linha 48 def ==(Outro) Método false a menos que Outro.is_a?(parte) documento == Outro.documento end |
#bson_type ⇒ Integer
Obtenha o tipo BSON para um documento chunk .
62 63 64 |
# Arquivo 'lib/mongo/grid/file/chunk.rb', linha 62 def bson_type BSON::Hash::BSON_TYPE end |
#data ⇒ BSON::Binary
Obtenha os dados do bloco.
74 75 76 |
# Arquivo 'lib/mongo/grid/file/chunk.rb', linha 74 def de dados documento[:data] end |
#Files_id ➤ BSON::ObjectId
Obtenha o ID dos arquivos.
98 99 100 |
# Arquivo 'lib/mongo/grid/file/chunk.rb', linha 98 def arquivos_id documento[:files_id] end |
#ID ➤ BSON::ObjectId
Obtenha o ID do bloco.
86 87 88 |
# Arquivo 'lib/mongo/grid/file/chunk.rb', linha 86 def id documento[:_id] end |
#n ➤ Inteiro
Obtenha a posição do bloco.
110 111 112 |
# Arquivo 'lib/mongo/grid/file/chunk.rb', linha 110 def n documento[:n] end |
#to_bson(buffer = BSON::ByteBuffer.new, _validating_keys = nil) ➤ String
Converta o chunk em BSON para armazenamento.
139 140 141 |
# Arquivo 'lib/mongo/grid/file/chunk.rb', linha 139 def to_bson(buffer = BSON::ByteBuffer.Novo, _validating_keys = nada) documento.to_bson(buffer) end |