Class Mongo::Grid::File::Info
In: lib/mongo/grid/file/info.rb
Parent: Object

Encapsulates behavior around GridFS files collection file document.

@since 2.0.0

@deprecated Please use the ‘stream’ API on a FSBucket instead.

  Will be removed in driver version 3.0.

Methods

==   bson_type   chunk_size   content_type   filename   id   inspect   length   md5   metadata   new   size   to_bson   update_md5   upload_date  

Constants

COLLECTION = 'files'.freeze   Name of the files collection.

@since 2.0.0

MAPPINGS = { :chunk_size => :chunkSize, :content_type => :contentType, :filename => :filename, :_id => :_id, :md5 => :md5, :length => :length, :metadata => :metadata, :upload_date => :uploadDate, :aliases => :aliases   Mappings of user supplied fields to db specification.

@since 2.0.0

DEFAULT_CONTENT_TYPE = 'binary/octet-stream'.freeze   Default content type for stored files.

@since 2.0.0

Attributes

document  [R]  @return [ BSON::Document ] document The files collection document.

Public Class methods

Create the new file information document.

@example Create the new file information document.

  Info.new(:filename => 'test.txt')

@param [ BSON::Document ] document The document to create from.

@since 2.0.0

Public Instance methods

Is this file information document equal to another?

@example Check file information document equality.

  file_info == other

@param [ Object ] other The object to check against.

@return [ true, false ] If the objects are equal.

@since 2.0.0

Get the BSON type for a files information document.

@example Get the BSON type.

  file_info.bson_type

@return [ Integer ] The BSON type.

@since 2.0.0

Get the file chunk size.

@example Get the chunk size.

  file_info.chunk_size

@return [ Integer ] The chunksize in bytes.

@since 2.0.0

Get the file information content type.

@example Get the content type.

  file_info.content_type

@return [ String ] The content type.

@since 2.0.0

Get the filename from the file information.

@example Get the filename.

  file_info.filename

@return [ String ] The filename.

Get the file id from the file information.

@example Get the file id.

  file_info.id

@return [ BSON::ObjectId ] The file id.

@since 2.0.0

Get a readable inspection for the object.

@example Inspect the file information.

  file_info.inspect

@return [ String ] The nice inspection.

@since 2.0.0

Get the length of the document in bytes.

@example Get the file length from the file information document.

  file_info.length

@return [ Integer ] The file length.

@since 2.0.0

Get the md5 hash.

@example Get the md5 hash.

  file_info.md5

@return [ String ] The md5 hash as a string.

@since 2.0.0

@deprecated as of 2.6.0

Get the additional metadata from the file information document.

@example Get additional metadata.

  file_info.metadata

@return [ String ] The additional metadata from file information document.

@since 2.0.0

size()

Alias for length

Convert the file information document to BSON for storage.

@note If no md5 exists in the file information document (it was loaded

  from the server and is not a new file) then we digest the md5 and set it.

@example Convert the file information document to BSON.

  file_info.to_bson

@param [ BSON::ByteBuffer ] buffer The encoded BSON buffer to append to. @param [ true, false ] validating_keys Whether keys should be validated when serializing.

@return [ String ] The raw BSON data.

@since 2.0.0

Update the md5 hash if there is one.

@example Update the md5 hash.

  file_info.update_md5(bytes)

@note This method is transitional and is provided for backwards compatibility. It will be removed when md5 support is deprecated entirely.

@param [ String ] The bytes to use to update the digest.

@return [ Digest::MD5 ] The md5 hash object.

@since 2.6.0

@deprecated as of 2.6.0

Get the upload date.

@example Get the upload date.

  file_info.upload_date

@return [ Time ] The upload date.

@since 2.0.0

[Validate]