module Cuniculus::Plugins
Base plugin load and registration module.
Public Class Methods
load_plugin(name)
click to toggle source
Method that loads a plugin file. It should not be called directly; instead use {Cuniculus.plugin} method to add and configure a plugin.
@param name [Symbol] name of plugin, also matching its file name.
@return [Module]
# File lib/cuniculus/plugins.rb 16 def self.load_plugin(name) 17 h = @plugins 18 unless plugin = h[name] 19 require "cuniculus/plugins/#{name}" 20 raise Cuniculus::Error, "Plugin was not registered with 'register_plugin'" unless plugin = h[name] 21 end 22 plugin 23 end
register_plugin(name, mod)
click to toggle source
Include plugin module into a Hash so it can be referenced by its name. This method should be called by the plugin itself, so that when it is required (by {Cuniculus::Plugins.load_plugin}), it can be found.
@param name [Symbol] Name of the plugin, matching its file name. @param mod [Module] The plugin module.
@example Register a plugin named `my_plugin`
# file: my_plugin.rb module Cuniculus module Plugins module MyPlugin end register_plugin(:my_plugin, MyPlugin) end end
# File lib/cuniculus/plugins.rb 41 def self.register_plugin(name, mod) 42 @plugins[name] = mod 43 end