lib/moneta/adapters/mongodb.rb in dkastner-moneta-1.1.0 vs lib/moneta/adapters/mongodb.rb in dkastner-moneta-1.1.1
- old
+ new
@@ -12,25 +12,30 @@
module Adapters
class MongoDB
include Moneta::Defaults
def initialize(options = {})
- if options[:uri]
- conn = Mongo::Connection.from_uri options[:uri]
- db_name = URI.parse(options[:uri]).path.sub('/','')
- db_name ||= options[:db]
+ collection = options.delete(:collection) || 'cache'
+
+ if uri = options.delete(:uri)
+ db_name = URI.parse(uri).path.sub('/','')
+ db_name ||= options.delete :db
+ conn = Mongo::Connection.from_uri uri, options
else
options = {
:host => ENV['MONGO_RUBY_DRIVER_HOST'] || 'localhost',
:port => ENV['MONGO_RUBY_DRIVER_PORT'] || Mongo::Connection::DEFAULT_PORT,
- :db => 'cache',
- :collection => 'cache'
+ :db => 'cache'
}.update(options)
- conn = Mongo::Connection.new(options[:host], options[:port])
- db_name = options[:db]
+
+ host = options.delete :host
+ port = options.delete :port
+ db_name = options.delete :db
+
+ conn = Mongo::Connection.new(host, port, options)
end
- db = conn.db(db_name)
- @cache = db.collection(options[:collection])
+ db = conn.db db_name
+ @cache = db.collection collection
end
def key?(key, *)
!!self[key]
end