X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FCatalyst%2FHelper.pm;h=1838b7aa82ca01e7bac8632f5088e84d88ffbd8e;hb=2fb22e6e6967ab08a4ea3ca996378e59fe2de2c6;hp=d965711f75de0079accd4ff67ddde3871b81e617;hpb=a6ad13b6d56ddf1fe82277af6b62a7d01bd4e4b0;p=catagits%2FCatalyst-Runtime.git diff --git a/lib/Catalyst/Helper.pm b/lib/Catalyst/Helper.pm index d965711..1838b7a 100644 --- a/lib/Catalyst/Helper.pm +++ b/lib/Catalyst/Helper.pm @@ -84,6 +84,7 @@ sub mk_app { $self->_mk_dirs; $self->_mk_config; $self->_mk_appclass; + $self->_mk_rootclass; $self->_mk_readme; $self->_mk_changes; $self->_mk_apptest; @@ -331,6 +332,9 @@ sub _mk_dirs { $self->{c} = File::Spec->catdir( $self->{mod}, 'Controller' ); $self->mk_dir( $self->{c} ); } + my $name = $self->{name}; + $self->{rootname} = + $self->{short} ? "$name\::C::Root" : "$name\::Controller::Root"; $self->{base} = File::Spec->rel2abs( $self->{dir} ); } @@ -340,6 +344,12 @@ sub _mk_appclass { $self->render_file( 'appclass', "$mod.pm" ); } +sub _mk_rootclass { + my $self = shift; + $self->render_file( 'rootclass', + File::Spec->catfile( $self->{c}, "Root.pm" ) ); +} + sub _mk_makefile { my $self = shift; $self->{path} = File::Spec->catfile( 'lib', split( '::', $self->{name} ) ); @@ -537,7 +547,7 @@ use warnings; # Static::Simple: will serve static files from the application's root # directory # -use Catalyst qw/-Debug Static::Simple/; +use Catalyst qw/-Debug ConfigLoader Static::Simple/; our $VERSION = '0.01'; @@ -546,6 +556,10 @@ our $VERSION = '0.01'; # __PACKAGE__->setup; +# +# IMPORTANT: Please look into [% rootname %] for more +# + =head1 NAME [% name %] - Catalyst based application @@ -558,6 +572,47 @@ __PACKAGE__->setup; Catalyst based application. +=head1 SEE ALSO + +L<[% rootname %]>, L + +=head1 AUTHOR + +[% author %] + +=head1 LICENSE + +This library is free software, you can redistribute it and/or modify +it under the same terms as Perl itself. + +=cut + +1; +__rootclass__ +package [% rootname %]; + +use strict; +use warnings; +use base 'Catalyst::Controller'; + +# +# Sets the actions in this controller to be registered with no prefix +# so they function identically to actions created in MyApp.pm +# +__PACKAGE__->config->{namespace} = ''; + +=head1 NAME + +[% rootname %] - Root Controller for this Catalyst based application + +=head1 SYNOPSIS + +See L<[% name %]>. + +=head1 DESCRIPTION + +Root Controller for this Catalyst based application. + =head1 METHODS =cut @@ -608,7 +663,7 @@ use inc::Module::Install; name '[% dir %]'; all_from '[% path %]'; -requires Catalyst => '5.62'; +requires Catalyst => '5.64'; catalyst; @@ -626,11 +681,16 @@ This file documents the revision history for Perl extension [% name %]. 0.01 [% time %] - initial revision, generated by Catalyst __apptest__ +use strict; +use warnings; use Test::More tests => 2; -BEGIN { use_ok( Catalyst::Test, '[% name %]' ); } -ok( request('/')->is_success ); +BEGIN { use_ok 'Catalyst::Test', '[% name %]' } + +ok( request('/')->is_success, 'Request should succeed' ); __podtest__ +use strict; +use warnings; use Test::More; eval "use Test::Pod 1.14"; @@ -639,6 +699,8 @@ plan skip_all => 'set TEST_POD to enable this test' unless $ENV{TEST_POD}; all_pod_files_ok(); __podcoveragetest__ +use strict; +use warnings; use Test::More; eval "use Test::Pod::Coverage 1.04"; @@ -1041,12 +1103,14 @@ it under the same terms as Perl itself. 1; __comptest__ +use strict; +use warnings; [% IF long_type == 'Controller' %] use Test::More tests => 3; -use_ok( Catalyst::Test, '[% app %]' ); +use_ok( 'Catalyst::Test', '[% app %]' ); use_ok('[% class %]'); -ok( request('[% uri %]')->is_success ); +ok( request('[% uri %]')->is_success, 'Request should succeed' ); [% ELSE %] use Test::More tests => 1; use_ok('[% class %]');