| Jifty documentation | view source | Contained in the Jifty distribution. |
Jifty::Plugin::ClassLoader - Automatically generates 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.
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.
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:
An empty application base class is created that doesn'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.
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.
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.
When the ClassLoader gets garbage-collected, its entry in @INC needs to be removed.
| Jifty documentation | view source | Contained in the Jifty distribution. |