class Aid::PluginManager

Constants

AID_PLUGIN_PREFIX

Public Instance Methods

activate_plugins() click to toggle source
# File lib/aid/plugins.rb, line 9
def activate_plugins
  plugins.each do |_, plugin|
    plugin.activate!
  end
end
plugins() click to toggle source
# File lib/aid/plugins.rb, line 5
def plugins
  @plugins ||= load_plugins
end

Private Instance Methods

gem_list() click to toggle source
# File lib/aid/plugins.rb, line 41
def gem_list
  Gem.refresh
  return Gem::Specification if Gem::Specification.respond_to?(:each)

  Gem.source_index.find_name('')
end
load_plugins() click to toggle source
# File lib/aid/plugins.rb, line 17
def load_plugins
  plugins = {}

  locate_plugins.each do |plugin|
    plugins[plugin.name] ||= plugin
  end

  plugins
end
locate_plugins() click to toggle source
# File lib/aid/plugins.rb, line 29
def locate_plugins
  plugins = []

  gem_list.each do |gem_object|
    next unless gem_object.name.start_with?(AID_PLUGIN_PREFIX)

    plugins << Plugin.new(gem_object)
  end

  plugins
end