Mongo gem deprecated ObjectID in favour of ObjectId
# File lib/dragonfly/data_storage/mongo_data_store.rb, line 24 def initialize(opts={}) self.host = opts[:host] self.hosts = opts[:hosts] self.connection_opts = opts[:connection_opts] if opts[:connection_opts] self.port = opts[:port] self.database = opts[:database] if opts[:database] self.username = opts[:username] self.password = opts[:password] self.connection = opts[:connection] self.db = opts[:db] end
# File lib/dragonfly/data_storage/mongo_data_store.rb, line 66 def connection @connection ||= if hosts Mongo::ReplSetConnection.new(hosts, connection_opts) else Mongo::Connection.new(host, port, connection_opts) end end
# File lib/dragonfly/data_storage/mongo_data_store.rb, line 74 def db @db ||= connection.db(database) end
# File lib/dragonfly/data_storage/mongo_data_store.rb, line 59 def destroy(uid) ensure_authenticated! grid.delete(bson_id(uid)) rescue Mongo::GridFileNotFound, INVALID_OBJECT_ID => e raise DataNotFound, "#{e} - #{uid}" end
# File lib/dragonfly/data_storage/mongo_data_store.rb, line 78 def grid @grid ||= Mongo::Grid.new(db) end
# File lib/dragonfly/data_storage/mongo_data_store.rb, line 46 def retrieve(uid) ensure_authenticated! grid_io = grid.get(bson_id(uid)) meta = marshal_decode(grid_io.metadata) meta.merge!(:stored_at => grid_io.upload_date) [ grid_io.read, meta ] rescue Mongo::GridFileNotFound, INVALID_OBJECT_ID => e raise DataNotFound, "#{e} - #{uid}" end
# File lib/dragonfly/data_storage/mongo_data_store.rb, line 36 def store(temp_object, opts={}) ensure_authenticated! content_type = opts[:content_type] || opts[:mime_type] || 'application/octet-stream' temp_object.file do |f| mongo_id = grid.put(f, :content_type => content_type, :metadata => marshal_encode(temp_object.meta)) mongo_id.to_s end end
Generated with the Darkfish Rdoc Generator 2.