class BoxGrinder::PluginHelper

Attributes

delivery_plugins[R]
os_plugins[R]
platform_plugins[R]

Public Class Methods

new( config, options = {} ) click to toggle source
# File lib/boxgrinder-build/helpers/plugin-helper.rb, line 43
def initialize( config, options = {} )
  @options  = config
  @log      = options[:log] || LogHelper.new
end

Public Instance Methods

load_plugins() click to toggle source
# File lib/boxgrinder-build/helpers/plugin-helper.rb, line 48
def load_plugins
  read_and_require

  @os_plugins       = PluginManager.instance.plugins[:os]
  @platform_plugins = PluginManager.instance.plugins[:platform]
  @delivery_plugins = PluginManager.instance.plugins[:delivery]

  print_plugins( 'os' ) { @os_plugins }
  print_plugins( 'platform' ) { @platform_plugins }
  print_plugins( 'delivery' ) { @delivery_plugins }

  self
end
print_plugins( type ) { || ... } click to toggle source
read_and_require() click to toggle source
# File lib/boxgrinder-build/helpers/plugin-helper.rb, line 62
def read_and_require
  @options.additional_plugins.each do |plugin|
    @log.trace "Loading plugin '#{plugin}'..."

    begin
      require plugin
      @log.trace "- OK"
    rescue LoadError => e
      @log.trace "- Not found: #{e.message.strip.chomp}"
      @log.warn "Specified plugin: '#{plugin}' wasn't found. Make sure its name is correct, skipping..."
    end
  end
end