Merge pull request #60 from bergie/master
Enable connecting to Redis with URL
This commit is contained in:
commit
73481ac5b9
|
@ -8,12 +8,24 @@ var redis = safeRequire('redis');
|
|||
exports.initialize = function initializeSchema(schema, callback) {
|
||||
if (!redis) return;
|
||||
|
||||
if (schema.settings.url) {
|
||||
var url = require('url');
|
||||
var redisUrl = url.parse(schema.settings.url);
|
||||
var redisAuth = (redisUrl.auth || '').split(':');
|
||||
schema.settings.host = redisUrl.hostname;
|
||||
schema.settings.port = redisUrl.port;
|
||||
|
||||
if (redisAuth.length == 2) {
|
||||
schema.settings.db = redisAuth[0];
|
||||
schema.settings.password = redisAuth[1];
|
||||
}
|
||||
}
|
||||
|
||||
schema.client = redis.createClient(
|
||||
schema.settings.port,
|
||||
schema.settings.host,
|
||||
schema.settings.options
|
||||
);
|
||||
|
||||
schema.client.auth(schema.settings.password);
|
||||
schema.client.on('connect', callback);
|
||||
|
||||
|
@ -361,7 +373,7 @@ function applyFilter(filter) {
|
|||
}
|
||||
});
|
||||
return pass;
|
||||
}
|
||||
};
|
||||
|
||||
function test(example, value) {
|
||||
if (typeof value === 'string' && example && example.constructor.name === 'RegExp') {
|
||||
|
|
|
@ -48,6 +48,9 @@ function Schema(name, settings) {
|
|||
this.name = name;
|
||||
this.settings = settings;
|
||||
|
||||
// Disconnected by default
|
||||
this.connected = false;
|
||||
|
||||
// create blank models pool
|
||||
this.models = {};
|
||||
this.definitions = {};
|
||||
|
|
Loading…
Reference in New Issue