AAAAAAAAAAAAAAAAAAAAAAAAAAAHHHH!!
[catagits/Catalyst-Runtime.git] / lib / Catalyst / Helper.pm
index 04af836..1382d22 100644 (file)
@@ -38,7 +38,9 @@ sub mk_app {
     $self->_mk_readme;
     $self->_mk_changes;
     $self->_mk_apptest;
+    $self->_mk_cgi;
     $self->_mk_server;
+    $self->_mk_cgiserver;
     $self->_mk_test;
     $self->_mk_create;
     return 1;
@@ -316,6 +318,56 @@ all_pod_coverage_ok();
 EOF
 }
 
+sub _mk_cgi {
+    my $self   = shift;
+    my $name   = $self->{name};
+    my $script = $self->{script};
+    $self->mk_file( "$script\/nph-cgi.pl", <<"EOF");
+$Config{startperl} -w
+
+BEGIN {
+    \$ENV{CATALYST_ENGINE} = 'CGI';
+    \$ENV{CATALYST_TEST}   = 1;
+}
+
+use strict;
+use FindBin;
+use lib "\$FindBin::Bin/../lib";
+use $name;
+
+$name->run;
+
+1;
+__END__
+
+=head1 NAME
+
+nph-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/nph-cgi.pl";
+}
+
 sub _mk_server {
     my $self   = shift;
     my $name   = $self->{name};
@@ -323,12 +375,17 @@ sub _mk_server {
     $self->mk_file( "$script\/server.pl", <<"EOF");
 $Config{startperl} -w
 
+BEGIN { 
+    \$ENV{CATALYST_ENGINE} = 'Server';
+    \$ENV{CATALYST_TEST}   = 1;
+}
+
 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 +394,7 @@ GetOptions( 'help|?' => \\\$help, 'port=s' => \\\$port );
 
 pod2usage(1) if \$help;
 
-Catalyst::Test::server(\$port);
+$name->run(\$port);
 
 1;
 __END__
@@ -378,6 +435,77 @@ EOF
     chmod 0700, "$script/server.pl";
 }
 
+sub _mk_cgiserver {
+    my $self   = shift;
+    my $name   = $self->{name};
+    my $script = $self->{script};
+    $self->mk_file( "$script\/cgi-server.pl", <<"EOF");
+$Config{startperl} -w
+
+BEGIN { 
+    \$ENV{CATALYST_ENGINE} = 'Server';
+    \$ENV{CATALYST_TEST}   = 1;
+}
+
+use strict;
+use Getopt::Long;
+use Pod::Usage;
+use FindBin;
+use lib "\$FindBin::Bin/../lib";
+use File::Spec;
+use $name;
+
+my \$help = 0;
+my \$port = 3000;
+
+GetOptions( 'help|?' => \\\$help, 'port=s' => \\\$port );
+
+pod2usage(1) if \$help;
+
+$name->run( \$port, File::Spec->catfile( \$FindBin::Bin, 'nph-cgi.pl' ) );
+
+1;
+__END__
+
+=head1 NAME
+
+cgi-server - Catalyst CGI Testserver
+
+=head1 SYNOPSIS
+
+cgi-server.pl [options]
+
+ Options:
+   -? -help    display this help and exits
+   -p -port    port (defaults to 3000)
+
+ See also:
+   perldoc Catalyst::Manual
+   perldoc Catalyst::Manual::Intro
+
+=head1 DESCRIPTION
+
+Run a Catalyst CGI Testserver for this application.
+
+Similar to the regular server but doesn't require a restart
+after code changes!
+
+=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-server.pl";
+}
+
 sub _mk_test {
     my $self   = shift;
     my $name   = $self->{name};