trusty (3) Jifty::Plugin::ClassLoader.3pm.gz

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.