diff --git a/lib/datasource.js b/lib/datasource.js index 08052f1f..00c0148c 100644 --- a/lib/datasource.js +++ b/lib/datasource.js @@ -118,15 +118,21 @@ DataSource.prototype.setup = function(name, settings) { var adapter; // support single settings object - if(typeof name === 'object' && name.initialize) { - adapter = name; - name = undefined; + if(name && typeof name === 'object') { + if(!name.initialize) { + settings = name; + name = undefined; + } } - if(settings && settings.initialize) { - adapter = settings.connector || settings.adapter; - } - if(settings.initialize) { - adapter = settings; + + if(typeof settings === 'object') { + if(settings.initialize) { + adapter = settings; + } else if(settings.connector) { + adapter = settings.connector; + } else if(settings.adapter) { + adapter = settings.adapter; + } } // just save everything we get