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