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