module Roda::RodaPlugins
def self.load_plugin(name)
plugin doesn't exist, or a RodaError if it exists but it does
require it and return it. This raises a LoadError if such a
If the registered plugin already exists, use it. Otherwise,
def self.load_plugin(name) h = @plugins unless plugin = h[name] require "roda/plugins/#{name}" raise RodaError, "Plugin #{name} did not register itself correctly in Roda::RodaPlugins" unless plugin = h[name] end plugin end
def self.register_plugin(name, mod)
with a symbol. Should be used by plugin files. Example:
Register the given plugin with Roda, so that it can be loaded using #plugin
def self.register_plugin(name, mod) @plugins[name] = mod end