class PluginRegistry
def initialize
def initialize @registry = {} end
def modules
-
(Array[Plugin])- sorted list of plugins
def modules @registry.values .sort_by { |x| x.respond_to?(:priority) ? x.priority : 0 } .reverse end
def resolve(target)
-
(Plugin)- plugin instance if it can be resolved, nil otherwise
Parameters:
-
target(String) -- to resolve
def resolve(target) modules.each do |m| res = m.resolve(target) return res unless res.nil? end nil end