module MongoMapper::Connection
Public Instance Methods
config()
click to toggle source
# File lib/mongo_mapper/connection.rb, line 43 def config raise 'Set config before connecting. MongoMapper.config = {...}' unless defined?(@@config) @@config end
config=(hash)
click to toggle source
# File lib/mongo_mapper/connection.rb, line 39 def config=(hash) @@config = hash end
config_for_environment(environment)
click to toggle source
@api private
# File lib/mongo_mapper/connection.rb, line 49 def config_for_environment(environment) config[environment.to_s] end
connect(environment, options={})
click to toggle source
# File lib/mongo_mapper/connection.rb, line 53 def connect(environment, options={}) raise 'Set config before connecting. MongoMapper.config = {...}' if config.blank? env = config_for_environment(environment).dup addresses_or_uri = env.delete('hosts') || env.delete('uri') || [env.delete('host')].compact if env['options'].is_a?(Hash) options = env.delete('options').symbolize_keys.merge(options) end #database etc are all options to Mongo::Client.new now options = env.symbolize_keys.merge(options) if options[:port] raise "port should be specified as part of the host or uri" end options[:read] = options[:read].to_sym if options[:read].is_a? String MongoMapper.connection = Mongo::Client.new(addresses_or_uri, options) end
connection()
click to toggle source
@api public
# File lib/mongo_mapper/connection.rb, line 11 def connection @@connection ||= Mongo::Client.new ['127.0.0.1:27017'] end
connection=(new_connection)
click to toggle source
@api public
# File lib/mongo_mapper/connection.rb, line 20 def connection=(new_connection) @@connection = new_connection end
connection?()
click to toggle source
# File lib/mongo_mapper/connection.rb, line 15 def connection? !!@@connection end
database()
click to toggle source
@api public
# File lib/mongo_mapper/connection.rb, line 35 def database @@database ||= connection.database end
database=(name)
click to toggle source
@api public
# File lib/mongo_mapper/connection.rb, line 30 def database=(name) @@database = connection.use(name).database end
handle_passenger_forking()
click to toggle source
# File lib/mongo_mapper/connection.rb, line 80 def handle_passenger_forking # :nocov: if defined?(PhusionPassenger) PhusionPassenger.on_event(:starting_worker_process) do |forked| connection.reconnect if forked end end # :nocov: end
logger()
click to toggle source
@api public
# File lib/mongo_mapper/connection.rb, line 25 def logger connection.logger end
setup(config, environment, options={})
click to toggle source
# File lib/mongo_mapper/connection.rb, line 74 def setup(config, environment, options={}) handle_passenger_forking self.config = config connect(environment, options) end