class Moped::GridFS::Bucket

Constants

DEFAULT_NAME

Attributes

name[R]
session[R]

Public Class Methods

new(session, name = DEFAULT_NAME) click to toggle source
# File lib/moped/gridfs/bucket.rb, line 16
def initialize(session, name = DEFAULT_NAME)
  @name = name.to_s.strip
  @session = session

  raise ArgumentError.new("Bucket name cannot be empty") if @name.empty?
end

Public Instance Methods

delete(selector) click to toggle source
# File lib/moped/gridfs/bucket.rb, line 46
def delete(selector)
  document = files_collection.find(parse_selector(selector)).first
  return unless document
  chunks_collection.find(files_id: document['_id']).remove_all
  files_collection.find(_id: document['_id']).remove_all
  true
end
Also aliased as: remove
drop() click to toggle source
# File lib/moped/gridfs/bucket.rb, line 56
def drop
  [files_collection, chunks_collection].map(&:drop)
  @indexes_ensured = false
end
ensure_indexes() click to toggle source
# File lib/moped/gridfs/bucket.rb, line 29
def ensure_indexes
  @indexes_ensured ||= begin
    chunks_collection.indexes.create(files_id: 1, n: 1)
    # Optional index on filename
    files_collection.indexes.create({filename: 1}, {background: true})
    true
  end
end
files() click to toggle source
# File lib/moped/gridfs/bucket.rb, line 38
def files
  Files.new(self)
end
inspect() click to toggle source
# File lib/moped/gridfs/bucket.rb, line 61
def inspect
  build_inspect_string(name: name)
end
md5(file_id) click to toggle source
# File lib/moped/gridfs/bucket.rb, line 42
def md5(file_id)
  session.command(filemd5: file_id, root: name)['md5']
end
open(selector, mode) { |file| ... } click to toggle source
# File lib/moped/gridfs/bucket.rb, line 23
def open(selector, mode)
  ensure_indexes
  file = File.new(self, mode, selector)
  block_given? ? yield(file) : file
end
remove(selector)
Alias for: delete