class RuGUI::Plugin::Loader

Attributes

configurations[RW]
initializer[RW]

Public Class Methods

new(initializer, configurations) click to toggle source
# File lib/rugui/plugin/loader.rb, line 8
def initialize(initializer, configurations)
  self.initializer = initializer
  self.configurations = configurations
  @@located_plugins ||= []
end

Public Instance Methods

load_plugins() click to toggle source
# File lib/rugui/plugin/loader.rb, line 14
def load_plugins
  plugins.each do |plugin|
    plugin.load unless plugin.loaded?
    register_as_loaded(plugin)
  end
end
plugins() click to toggle source
# File lib/rugui/plugin/loader.rb, line 21
def plugins
  @plugins ||= locate_plugins
end

Protected Instance Methods

locate_plugins() click to toggle source

Locate all plugins in APPLICATION_ROOT/vendor/plugins

# File lib/rugui/plugin/loader.rb, line 27
def locate_plugins
  Dir.glob(File.join(APPLICATION_ROOT, "vendor", "plugins", "*")).each do |dir|
    @@located_plugins << Location.new(dir)
  end
  @@located_plugins
end
register_as_loaded(plugin) click to toggle source

Register plugins as loaded.

# File lib/rugui/plugin/loader.rb, line 35
def register_as_loaded(plugin)
  plugin.loaded = true
end