class Daiku::Plugins

Public Class Methods

filter_plugins(value, filter = :type) click to toggle source
# File lib/daiku/plugins.rb, line 23
def self.filter_plugins(value, filter = :type)
  register_plugins.values.select do |plugin|
    plugin[filter] == value
  end
end
find_plugins() click to toggle source
# File lib/daiku/plugins.rb, line 5
def self.find_plugins
  Daiku::Plugins.constants.map do |plugin|
    Daiku::Plugins.const_get(plugin.to_s, false)
  end
end
has_plugins?(type) click to toggle source
# File lib/daiku/plugins.rb, line 17
def self.has_plugins?(type)
  register_plugins.values.any? do |plugin|
    plugin[:type] == type
  end
end
plugin_names(type = nil) click to toggle source
# File lib/daiku/plugins.rb, line 29
def self.plugin_names(type = nil)
  plugins = if type.nil?
              register_plugins.values
            else
              filter_plugins(type, :type)
            end
  plugins.map { |plugin| plugin[:name] }
end
register_plugins() click to toggle source
# File lib/daiku/plugins.rb, line 11
def self.register_plugins
  Hash[*find_plugins.map do |plugin|
    [plugin.meta[:name], plugin.meta]
  end.flatten]
end