diff --git a/lib/RssBraider.js b/lib/RssBraider.js index 073cb53..7152ea3 100644 --- a/lib/RssBraider.js +++ b/lib/RssBraider.js @@ -15,7 +15,7 @@ var RssBraider = function (options) { this.indent = options.indent || " "; this.dedupe_fields = options.dedupe_fields || []; // The fields to use to identify duplicate articles this.date_sort_order = options.date_sort_order || "desc"; - + this.plugins_directories = options.plugins_directories || []; // load plugins from plugins folder // TODO, specify plugins location this.plugins = {}; @@ -25,16 +25,21 @@ var RssBraider = function (options) { // loadup self.plugins with the plugin functions RssBraider.prototype.loadPlugins = function () { - var self = this, - path = __dirname + '/plugins', - filenames = fs.readdirSync(path); + var self = this; - // load up each file and assign it to the plugins - filenames.forEach(function(filename){ - var plugin_name = filename.replace(/.js$/, ''); - self.plugins[plugin_name] = require(path + '/' + plugin_name); - // logger.info("plugin loaded:", plugin_name); + if (self.plugins_directories.length < 1) { + logger.info("No plugins_directories specified. No plugins loaded."); + } + + self.plugins_directories.forEach(function(dir){ + // load up each file and assign it to the plugins + filenames.forEach(function(filename){ + var plugin_name = filename.replace(/.js$/, ''); + self.plugins[plugin_name] = require(path + '/' + plugin_name); + // logger.info("plugin loaded:", plugin_name); + }); }); + }; RssBraider.prototype.feedExists = function (feed_name) {