logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

Catalyst::Action::RenderView - Sensible default end action.

Authors

       •   Marcus Ramberg <marcus@thefeed.no>

       •   Florian Ragwitz <rafl@debian.org>

Contributor

       Graham Knop <haarg@haarg.org>

Description

       This action implements a sensible default end action, which will forward to the first available view,
       unless "$c->res->status" is a 3xx code (redirection, not modified, etc.), 204 (no content), or
       "$c->res->body" has already been set. It also allows you to pass "dump_info=1" to the url in order to
       force a debug screen, while in debug mode.

       If you have more than one view, you can specify which one to use with the "default_view" config setting
       and the "current_view" and "current_view_instance" stash keys (see Catalyst's "$c->view($name)" method --
       this module simply calls "$c->view" with no argument).

Extending

       To add something to an "end" action that is called before rendering, simply place it in the "end" method:

           sub end : ActionClass('RenderView') {
               my ( $self, $c ) = @_;
               # do stuff here; the RenderView action is called afterwards
           }

       To add things to an "end" action that are called after rendering, you can set it up like this:

           sub render : ActionClass('RenderView') { }

           sub end : Private {
               my ( $self, $c ) = @_;
               $c->forward('render');
               # do stuff here
           }

Internal Methods

execute
       Dispatches control to superclasses, then forwards to the default View.

       See "METHODS/action" in Catalyst::Action.

Methods

end
       The default "end" action. You can override this as required in your application class; normal inheritance
       applies.

Name

       Catalyst::Action::RenderView - Sensible default end action.

Scrubbing Output

       When you force debug with dump_info=1, RenderView is capable of removing classes from the objects in your
       stash. By default it will replace any DBIx::Class ResultSource objects with the class name, which cleans
       up the debug output considerably, but you can change what gets scrubbed by setting a list of classes in
       $c->config->{'Action::RenderView'}->{ignore_classes}.  For instance:

           $c->config->{'Action::RenderView'}->{ignore_classes} = [];

       To disable the functionality. You can also set config->{'Action::RenderView'}->{scrubber_func} to change
       what it does with the classes. For instance, this will undef it instead of putting in the class name:

           $c->config->{'Action::RenderView'}->{scrubber_func} = sub { undef $_ };

   Deprecationnotice
       This plugin used to be configured by setting "$c->config->{debug}".  That configuration key is still
       supported in this release, but is deprecated, please use the  'Action::RenderView'  namespace as shown
       above for configuration in new code.

Synopsis

           sub end : ActionClass('RenderView') {}

See Also