Class | BoxGrinder::PluginManager |
In: |
lib/boxgrinder-build/managers/plugin-manager.rb
lib/boxgrinder-build/managers/plugin-manager.rb |
Parent: | Object |
plugins | [R] | |
plugins | [R] |
# File lib/boxgrinder-build/managers/plugin-manager.rb, line 36 36: def initialize 37: @plugins = {:delivery => {}, :os => {}, :platform => {}} 38: end
# File lib/boxgrinder-build/managers/plugin-manager.rb, line 36 36: def initialize 37: @plugins = {:delivery => {}, :os => {}, :platform => {}} 38: end
# File lib/boxgrinder-build/managers/plugin-manager.rb, line 62 62: def initialize_plugin(type, name) 63: plugins = @plugins[type] 64: # this should never happen 65: raise "There are no #{type} plugins." if plugins.nil? 66: plugin_info = plugins[name] 67: raise "There is no #{type} plugin registered for '#{name}' type/name." if plugin_info.nil? 68: 69: begin 70: plugin = plugin_info[:class].new 71: rescue 72: raise "Error while initializing '#{plugin_info[:class].to_s}' plugin." 73: end 74: 75: [plugin, plugin_info] 76: end
# File lib/boxgrinder-build/managers/plugin-manager.rb, line 62 62: def initialize_plugin(type, name) 63: plugins = @plugins[type] 64: # this should never happen 65: raise "There are no #{type} plugins." if plugins.nil? 66: plugin_info = plugins[name] 67: raise "There is no #{type} plugin registered for '#{name}' type/name." if plugin_info.nil? 68: 69: begin 70: plugin = plugin_info[:class].new 71: rescue 72: raise "Error while initializing '#{plugin_info[:class].to_s}' plugin." 73: end 74: 75: [plugin, plugin_info] 76: end
# File lib/boxgrinder-build/managers/plugin-manager.rb, line 40 40: def register_plugin(info) 41: validate_plugin_info(info) 42: 43: raise "We already have registered plugin for #{info[:name]}." unless @plugins[info[:name]].nil? 44: 45: unless info[:types].nil? 46: info[:types].each do |type| 47: @plugins[info[:type]][type] = info 48: end 49: else 50: @plugins[info[:type]][info[:name]] = info 51: end 52: 53: self 54: end
# File lib/boxgrinder-build/managers/plugin-manager.rb, line 40 40: def register_plugin(info) 41: validate_plugin_info(info) 42: 43: raise "We already have registered plugin for #{info[:name]}." unless @plugins[info[:name]].nil? 44: 45: unless info[:types].nil? 46: info[:types].each do |type| 47: @plugins[info[:type]][type] = info 48: end 49: else 50: @plugins[info[:type]][info[:name]] = info 51: end 52: 53: self 54: end
# File lib/boxgrinder-build/managers/plugin-manager.rb, line 56 56: def validate_plugin_info(info) 57: raise "No name specified for your plugin" if info[:name].nil? 58: raise "No class specified for your plugin" if info[:class].nil? 59: raise "No type specified for your plugin" if info[:type].nil? 60: end
# File lib/boxgrinder-build/managers/plugin-manager.rb, line 56 56: def validate_plugin_info(info) 57: raise "No name specified for your plugin" if info[:name].nil? 58: raise "No class specified for your plugin" if info[:class].nil? 59: raise "No type specified for your plugin" if info[:type].nil? 60: end