The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Jifty::ClassLoader - Loads the application classes

DESCRIPTION

Jifty::ClassLoader loads all of the application's model and action classes, generating classes on the fly for Collections of pre-existing models.

new

Returns a new ClassLoader object. Doing this installs a hook into @INC that allows Jifty::ClassLoader to dynamically create needed classes if they do not exist already.

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 doen'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.

ApplicationClass::Notification.

An empty class that descends from Jifty::Notification.

ApplicationClass::Dispatcher.

An empty class that descends from Jifty::Dispatcher.

Application::Bootstrap

An empty class that descends from Jifty::Bootstrap.

CurrentUserClass (generally Application::CurrentUser)

...where CurrentUserClass is defined by the CurrentUserClass from the configuration file. This defaults to an empty class which is a subclass of 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.

return_class CODE

A helper method; takes CODE as a string and returns an open filehandle containing that CODE.

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.