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. 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 one mandatory argument, base, which should be the the application's base path; all of the classes under this will be automatically loaded.

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.

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.

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.