Module: Automatic::Pipeline
- Defined in:
- lib/automatic/pipeline.rb
Class Method Summary collapse
Class Method Details
.load_plugin(module_name) ⇒ Object
19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/automatic/pipeline.rb', line 19 def self.load_plugin(module_name) Dir[Automatic.user_plugins_dir + "/*", Automatic.plugins_dir + "/*"].each {|dir| subdir = File.basename dir if /#{subdir}_(.*)$/ =~ module_name.underscore path = dir + "/#{$1}.rb" return Automatic::Plugin.autoload module_name.to_sym, path.to_s if File.exists? path end } raise NoPluginError, "unknown plugin named #{module_name}" end |
.run(recipe) ⇒ Object
32 33 34 35 36 37 38 39 40 41 |
# File 'lib/automatic/pipeline.rb', line 32 def self.run(recipe) raise NoRecipeError if recipe.nil? pipeline = [] recipe.each_plugin {|plugin| mod = plugin.module load_plugin(mod) klass = Automatic::Plugin.const_get(mod) pipeline = klass.new(plugin.config, pipeline).run } end |