diff options
Diffstat (limited to 'lib/generate/generator.js')
-rw-r--r-- | lib/generate/generator.js | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/lib/generate/generator.js b/lib/generate/generator.js index 13022a5..e303345 100644 --- a/lib/generate/generator.js +++ b/lib/generate/generator.js @@ -1,9 +1,30 @@ +var _ = require("lodash"); var path = require("path"); var Q = require("q"); var fs = require("./fs"); +var Plugin = require("./plugin"); + var BaseGenerator = function(options) { this.options = options; + + this.options.plugins = Plugin.normalizeNames(this.options.plugins); + this.plugins = []; +}; + +BaseGenerator.prototype.callHook = function(name) { + return this.plugins.hook(name, this); +}; + +BaseGenerator.prototype.loadPlugins = function() { + var that = this; + + return Plugin.fromList(this.options.plugins) + .then(function(_plugins) { + that.plugins = _plugins; + + return that.callHook("init"); + }); }; BaseGenerator.prototype.convertFile = function(content, input) { |