Fix up a bit, still needs compclass.tt doing
[catagits/Catalyst-Devel.git] / share / lib / MyApp / Controller / Root.pm.tt
1 package [% rootname %];
2 use Moose;
3 use namespace::autoclean;
4
5 BEGIN { extends 'Catalyst::Controller' }
6
7 #
8 # Sets the actions in this controller to be registered with no prefix
9 # so they function identically to actions created in MyApp.pm
10 #
11 __PACKAGE__->config(namespace => '');
12
13 =head1 NAME
14
15 [% rootname %] - Root Controller for [% name %]
16
17 =head1 DESCRIPTION
18
19 [enter your description here]
20
21 =head1 METHODS
22
23 =head2 base
24
25 The root of the chain, common app-wide functionality generally goes here.
26
27 =cut
28
29 sub base :Chained('/') PathPart('') CaptureArgs(0) {
30     # Intentionally blank but you might want to do something here.
31 }
32
33 =head2 index
34
35 The root page (/) of the site.
36
37 =cut
38
39 sub index :Chained('/base') PathPart('') Args(0) {
40     my ( $self, $c ) = @_;
41
42     # Hello World
43     $c->response->body( $c->welcome_message );
44 }
45
46 =head2 default
47
48 The default (catch-all) action. Detaches control to the C<not_found>
49 action to generate a 404 page.
50
51 =cut
52
53 sub default : Chained('/base') PathPart('') Args {
54     my ( $self, $c ) = @_;
55     $c->detach('not_found');
56 }
57
58 =head2 not_found
59
60 Simple 404 error page.
61
62 =cut
63
64 sub not_found : Action {
65     my ( $self, $c ) = @_;
66     $c->response->body( 'Page not found' );
67     $c->response->status(404);
68 }
69
70 =head2 end
71
72 Attempt to render a view, if needed.
73
74 =cut
75
76 sub end : ActionClass('RenderView') {}
77
78 =head1 AUTHOR
79
80 [% author %]
81
82 =head1 LICENSE
83
84 This library is free software. You can redistribute it and/or modify
85 it under the same terms as Perl itself.
86
87 =cut
88
89 __PACKAGE__->meta->make_immutable;
90
91 1;