module Roda::RodaPlugins
Module in which all Roda
plugins should be stored. Also contains logic for registering and loading plugins.
Constants
- EMPTY_ARRAY
- OPTS
Public Class Methods
Source
# File lib/roda/plugins.rb, line 45 def self.deprecate_constant(mod, name) # :nocov: if RUBY_VERSION >= '2.3' mod.deprecate_constant(name) end # :nocov: end
Deprecate the constant with the given name in the given module, if the ruby version supports it.
Source
# File lib/roda/plugins.rb, line 26 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
If the registered plugin already exists, use it. Otherwise, require it and return it. This raises a LoadError if such a plugin doesn’t exist, or a RodaError
if it exists but it does not register itself correctly.
Source
# File lib/roda/plugins.rb, line 39 def self.register_plugin(name, mod) @plugins[name] = mod end
Register the given plugin with Roda
, so that it can be loaded using plugin with a symbol. Should be used by plugin files. Example:
Roda::RodaPlugins.register_plugin(:plugin_name, PluginModule)
Source
# File lib/roda/plugins.rb, line 56 def self.set_temp_name(mod) mod.set_temporary_name(yield) mod end
Create a new module using the block, and set the temporary name on it using the given a containing module and name.