diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/pluginslist.js | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/lib/pluginslist.js b/lib/pluginslist.js index 0631922..35ba8c3 100644 --- a/lib/pluginslist.js +++ b/lib/pluginslist.js @@ -42,20 +42,19 @@ PluginsList.prototype.load = function(plugin, options) { if (_.isArray(plugin)) { return _.reduce(plugin, function(prev, p) { - prev.then(function() { + return prev.then(function() { return that.load(p); }); }, Q()); } - if (_.isString(plugin)) { - plugin = new Plugin(this.book, plugin); - } + if (_.isObject(plugin) && !(plugin instanceof Plugin)) plugin = plugin.name; + if (_.isString(plugin)) plugin = new Plugin(this.book, plugin); that.log.info("load plugin", plugin.name, "...."); if (!plugin.isValid()) { that.log.info.fail(); that.failed.push(plugin.name); - return; + return Q(); } else { that.log.info.ok(); |