Provided by: libjifty-perl_1.10518+dfsg-3ubuntu1_all bug

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.