Skip to content

Commit

Permalink
Merge branch 'master' of github.com:jnunemaker/mongomapper
Browse files Browse the repository at this point in the history
* 'master' of github.com:jnunemaker/mongomapper:
  rename `connection_options` to `options` and create a test
  use mongodb connection options from yaml config file
  • Loading branch information
bkeepers committed Jan 7, 2012
2 parents 1471fbd + 06d09a4 commit a07f76d
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 0 deletions.
4 changes: 4 additions & 0 deletions lib/mongo_mapper/connection.rb
Expand Up @@ -62,6 +62,10 @@ def connect(environment, options={})
raise 'Set config before connecting. MongoMapper.config = {...}' if config.blank?
env = config_for_environment(environment)

if env['options'].is_a? Hash
options = env['options'].symbolize_keys.merge(options)
end

MongoMapper.connection = if env['hosts']
Mongo::ReplSetConnection.new( *env['hosts'].push(options) )
else
Expand Down
9 changes: 9 additions & 0 deletions test/unit/test_mongo_mapper.rb
Expand Up @@ -65,6 +65,15 @@ class MongoMapperTest < Test::Unit::TestCase
MongoMapper.connect('development', :logger => logger)
end

should "work with options from config" do
MongoMapper.config = {
'development' => {'host' => '192.168.1.1', 'port' => 2222, 'database' => 'test', 'options' => {'safe' => true}}
}
connection, logger = mock('connection'), mock('logger')
Mongo::Connection.expects(:new).with('192.168.1.1', 2222, :logger => logger, :safe => true)
MongoMapper.connect('development', :logger => logger)
end

should "work with options using uri" do
MongoMapper.config = {
'development' => {'uri' => 'mongodb://127.0.0.1:27017/test'}
Expand Down

0 comments on commit a07f76d

Please sign in to comment.