Removing C::E::CGI::NPH
[catagits/Catalyst-Runtime.git] / lib / Catalyst / Helper.pm
index 04af836..ae8898a 100644 (file)
@@ -38,6 +38,8 @@ sub mk_app {
     $self->_mk_readme;
     $self->_mk_changes;
     $self->_mk_apptest;
+    $self->_mk_cgi;
+    $self->_mk_fcgi;
     $self->_mk_server;
     $self->_mk_test;
     $self->_mk_create;
@@ -221,14 +223,10 @@ $name->config(
     root => '$base/root',
 );
 
-$name->action(
-
-    '!default' => sub {
-        my ( \$self, \$c ) = \@_;
-        \$c->res->output('Congratulations, $name is on Catalyst!');
-    },
-
-);
+sub default : Private {
+    my ( \$self, \$c ) = \@_;
+    \$c->res->output('Congratulations, $name is on Catalyst!');
+}
 
 =head1 NAME
 
@@ -305,7 +303,16 @@ use_ok( Catalyst::Test, '$name' );
 
 ok( request('/')->is_success );
 EOF
-    $self->mk_file( "$t\/02podcoverage.t", <<"EOF");
+    $self->mk_file( "$t\/02pod.t", <<"EOF");
+use Test::More;
+
+eval "use Test::Pod 1.14";
+plan skip_all => 'Test::Pod 1.14 required' if \$@;
+plan skip_all => 'set TEST_POD to enable this test' unless \$ENV{TEST_POD};
+
+all_pod_files_ok();
+EOF
+    $self->mk_file( "$t\/03podcoverage.t", <<"EOF");
 use Test::More;
 
 eval "use Test::Pod::Coverage 1.04";
@@ -316,6 +323,100 @@ all_pod_coverage_ok();
 EOF
 }
 
+sub _mk_cgi {
+    my $self   = shift;
+    my $name   = $self->{name};
+    my $script = $self->{script};
+    $self->mk_file( "$script\/cgi.pl", <<"EOF");
+$Config{startperl} -w
+
+BEGIN { \$ENV{CATALYST_ENGINE} = 'CGI' }
+
+use strict;
+use FindBin;
+use lib "\$FindBin::Bin/../lib";
+use $name;
+
+$name->run;
+
+1;
+__END__
+
+=head1 NAME
+
+cgi - Catalyst CGI
+
+=head1 SYNOPSIS
+
+See L<Catalyst::Manual>
+
+=head1 DESCRIPTION
+
+Run a Catalyst application as cgi.
+
+=head1 AUTHOR
+
+Sebastian Riedel, C<sri\@oook.de>
+
+=head1 COPYRIGHT
+
+Copyright 2004 Sebastian Riedel. All rights reserved.
+
+This library is free software. You can redistribute it and/or modify it under
+the same terms as perl itself.
+
+=cut
+EOF
+    chmod 0700, "$script/cgi.pl";
+}
+
+sub _mk_fcgi {
+    my $self   = shift;
+    my $name   = $self->{name};
+    my $script = $self->{script};
+    $self->mk_file( "$script\/fcgi.pl", <<"EOF");
+$Config{startperl} -w
+
+BEGIN { \$ENV{CATALYST_ENGINE} = 'FCGI' }
+
+use strict;
+use FindBin;
+use lib "\$FindBin::Bin/../lib";
+use $name;
+
+$name->run;
+
+1;
+__END__
+
+=head1 NAME
+
+fcgi - Catalyst FCGI
+
+=head1 SYNOPSIS
+
+See L<Catalyst::Manual>
+
+=head1 DESCRIPTION
+
+Run a Catalyst application as fcgi.
+
+=head1 AUTHOR
+
+Sebastian Riedel, C<sri\@oook.de>
+
+=head1 COPYRIGHT
+
+Copyright 2004 Sebastian Riedel. All rights reserved.
+
+This library is free software. You can redistribute it and/or modify it under
+the same terms as perl itself.
+
+=cut
+EOF
+    chmod 0700, "$script/fcgi.pl";
+}
+
 sub _mk_server {
     my $self   = shift;
     my $name   = $self->{name};
@@ -323,12 +424,14 @@ sub _mk_server {
     $self->mk_file( "$script\/server.pl", <<"EOF");
 $Config{startperl} -w
 
+BEGIN { \$ENV{CATALYST_ENGINE} = 'HTTP' }
+
 use strict;
 use Getopt::Long;
 use Pod::Usage;
 use FindBin;
 use lib "\$FindBin::Bin/../lib";
-use Catalyst::Test '$name';
+use $name;
 
 my \$help = 0;
 my \$port = 3000;
@@ -337,7 +440,7 @@ GetOptions( 'help|?' => \\\$help, 'port=s' => \\\$port );
 
 pod2usage(1) if \$help;
 
-Catalyst::Test::server(\$port);
+$name->run(\$port);
 
 1;
 __END__
@@ -385,11 +488,14 @@ sub _mk_test {
     $self->mk_file( "$script/test.pl", <<"EOF");
 $Config{startperl} -w
 
+BEGIN { \$ENV{CATALYST_ENGINE} = 'Test' }
+
 use strict;
 use Getopt::Long;
 use Pod::Usage;
 use FindBin;
 use lib "\$FindBin::Bin/../lib";
+use $name;
 
 my \$help = 0;
 
@@ -397,10 +503,7 @@ GetOptions( 'help|?' => \\\$help );
 
 pod2usage(1) if ( \$help || !\$ARGV[0] );
 
-require Catalyst::Test;
-import Catalyst::Test '$name';
-
-print get(\$ARGV[0]) . "\n";
+print $name->run(\$ARGV[0])->content . "\n";
 
 1;
 __END__
@@ -521,14 +624,11 @@ sub _mk_compclass {
     my $action = '';
     $action = <<"EOF" if $type eq 'C';
 
-$app->action(
-
-    '!?default' => sub {
-        my ( \$self, \$c ) = \@_;
-        \$c->res->output('Congratulations, $class is on Catalyst!');
-    },
+sub default : Private {
+    my ( \$self, \$c ) = \@_;
+    \$c->res->output('Congratulations, $class is on Catalyst!');
+}
 
-);
 EOF
     my $file = $self->{file};
     return $self->mk_file( "$file", <<"EOF");