X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FCatalyst%2FView.pm;h=1959a77729c323f2bb05ef35ce48592a81007109;hb=fd4d9ff7a23f97c2d96114ac777badcd1ff92459;hp=77597a6da2e3077401116622eb8b81b5a99038a7;hpb=5ee249f25d549a71fdb509af9d99151f62cddab8;p=catagits%2FCatalyst-Runtime.git diff --git a/lib/Catalyst/View.pm b/lib/Catalyst/View.pm index 77597a6..1959a77 100644 --- a/lib/Catalyst/View.pm +++ b/lib/Catalyst/View.pm @@ -1,7 +1,7 @@ package Catalyst::View; -use strict; -use base qw/Catalyst::Component/; +use Moose; +extends qw/Catalyst::Component/; =head1 NAME @@ -9,15 +9,46 @@ Catalyst::View - Catalyst View base class =head1 SYNOPSIS -See L. + package Catalyst::View::Homebrew; + + use base qw/Catalyst::View/; + + sub process { + # template processing goes here. + } =head1 DESCRIPTION -Catalyst View base class. +This is the Catalyst View base class. It's meant to be used as +a base class by Catalyst views. + +As a convention, views are expected to read template names from +$c->stash->{template}, and put the output into $c->res->body. +Some views default to render a template named after the dispatched +action's private name. (See L.) + +=head1 METHODS -=head1 AUTHOR +Implements the same methods as other Catalyst components, see +L -Sebastian Riedel, C +=head2 process + +gives an error message about direct use. + +=cut + +sub process { + + Catalyst::Exception->throw( message => ( ref $_[0] || $_[0] ). + " directly inherits from Catalyst::View. You need to\n". + " inherit from a subclass like Catalyst::View::TT instead.\n" ); + +} + +=head1 AUTHORS + +Catalyst Contributors, see Catalyst.pm =head1 COPYRIGHT @@ -26,4 +57,7 @@ the same terms as Perl itself. =cut +no Moose; +__PACKAGE__->meta->make_immutable(); + 1;