Modify Root controller skeleton to use Chained actions.
[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, offers flexibility to the below actions depending on
26 whether / has an argument (sub default) or not (sub index).
27
28 =cut
29
30 sub base :Chained('/') PathPart('') CaptureArgs(0) {
31     # Intentionally blank but you might want to do something here.
32 }
33
34 =head2 index
35
36 The root page (/) of the site.
37
38 =cut
39
40 sub index :Chained('/base') PathPart('') Args(0) {
41     my ( $self, $c ) = @_;
42
43     # Hello World
44     $c->response->body( $c->welcome_message );
45 }
46
47 =head2 default
48
49 Standard 404 error page
50
51 =cut
52
53 sub default : Chained('/base') PathPart('') Args {
54     my ( $self, $c ) = @_;
55     $c->response->body( 'Page not found' );
56     $c->response->status(404);
57 }
58
59 =head2 end
60
61 Attempt to render a view, if needed.
62
63 =cut
64
65 sub end : ActionClass('RenderView') {}
66
67 =head1 AUTHOR
68
69 [% author %]
70
71 =head1 LICENSE
72
73 This library is free software. You can redistribute it and/or modify
74 it under the same terms as Perl itself.
75
76 =cut
77
78 __PACKAGE__->meta->make_immutable;
79
80 1;