Jifty::Plugin::ClassLoader - Autogenerates application classes
Jifty::Plugin::ClassLoader loads additional model and action classes on behalf of the application out of the configured plugin classes. Unlike, Jifty::ClassLoader, this class will only autogenerate classes if the plugin provides them. The plugin classes are checked before the base Jifty classes, so that a plugin can override the Jifty class, just as any existing application classes will be loaded first.
Jifty::Plugin::ClassLoader
Jifty::ClassLoader
Returns a new ClassLoader object. Doing this installs a hook into @INC that allows Jifty::Plugin::ClassLoader to dynamically create needed classes if they do not exist already. This works because if use/require encounters a blessed reference in @INC, it will invoke the INC method with the name of the module it is searching for on the reference.
@INC
Takes two mandatory arguments, base, which should be the application's base path; and plugin which is the plugin classname.
base
plugin
The hook that is called when a module has been require'd that cannot be found on disk. The following stub classes are auto-generated:
require
An empty application base class is created that doen't provide any methods or inherit from anything.
An empty class that descends from Jifty::Record is created.
An empty class that descends from Jifty::Collection is created.
An empty class that descends from Jifty::Notification.
An empty class that descends from Jifty::Dispatcher.
An empty class that descends from Jifty::Bootstrap.
An empty class that descends from Jifty::Upgrade.
An empty class that descends from Jifty::CurrentUser.
If Application::Model::Something is a valid model class, then it creates a subclass of Jifty::Collection whose record_class is Application::Model::Something.
Application::Model::Something
record_class
If Application::Model::Something is a valid model class, then it creates a subclass of Jifty::Action::Record::Create, Jifty::Action::Record::Update, or Jifty::Action::Record::Delete whose record_class is Application::Model::Something.
A helper method; takes CODE as a string and returns an open filehandle containing that CODE.
Loads all of the application's Actions and Models. It additionally require's all Collections and Create/Update actions for each Model base class -- which will auto-create them using the above code if they do not exist on disk.
To install Jifty, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Jifty
CPAN shell
perl -MCPAN -e shell install Jifty
For more information on module installation, please visit the detailed CPAN module installation guide.