Provided by: libjifty-perl_1.10518+dfsg-3ubuntu1_all
NAME
Jifty::Plugin::ClassLoader - Automatically generates application classes
DESCRIPTION
"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. new 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. Takes two mandatory arguments, "base", which should be the application's base path; and "plugin" which is the plugin classname. INC 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: Application An empty application base class is created that doesn't provide any methods or inherit from anything. Application::Record An empty class that descends from Jifty::Record is created. Application::Collection An empty class that descends from Jifty::Collection is created. Application::Notification An empty class that descends from Jifty::Notification. Application::Dispatcher An empty class that descends from Jifty::Dispatcher. Application::Bootstrap An empty class that descends from Jifty::Bootstrap. Application::Upgrade An empty class that descends from Jifty::Upgrade. Application::CurrentUser An empty class that descends from Jifty::CurrentUser. Application::Model::AnythingCollection 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::Action::(Create or Update or Delete)Anything 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". require 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. DESTROY When the ClassLoader gets garbage-collected, its entry in @INC needs to be removed.