NAME
Jifty::Plugin - Describes a plugin to the Jifty framework
DESCRIPTION
Plugins are like mini-apps. They come in packages with share directories which provide static and template files; they provide actions; they have dispatcher rules. To create the skeleton of a new plugin, you can use the command: jifty plugin --name SomePlugin
To use a plugin in your Jifty application, find the Plugins:
line in the config.yml
file:
Plugins:
- SpiffyThing: {}
- SomePlugin:
arguments: to
the: constructor
The dispatcher for a plugin should live in Jifty::Plugin::name::Disptcher
; it is written like any other Jifty::Dispatcher. Plugin dispatcher rules are checked before the application's rules; however, see "Plugins and rule ordering" in Jifty::Dispatcher for how to manually specify exceptions to this.
Actions and models under a plugin's namespace are automatically discovered and made available to applications.
new
Sets up a new instance of this plugin. This is called by Jifty after reading the configuration file, and is supplied whatever plugin-specific settings were in the config file. Note that because plugins affect Mason's component roots, adding plugins during runtime is not supported.
init [ARGS]
Called by "new", this does any custom configuration that the plugin might need. It is passed the same parameters as "new", gleaned from the configuration file.
new_request
Called right before every request. By default, this adds the plugin's actions to the list of allowed actions, using "allow" in Jifty::API.
template_root
Returns the root of the template directory for this plugin
static_root
Returns the root of the static directory for this plugin
dispatcher
Returns the classname of the dispatcher class for this plugin