unfucked test server options and made test pass f'real this time
[catagits/Catalyst-Runtime.git] / lib / Catalyst / Script / FastCGI.pm
index 48b7b5f..edfcea0 100644 (file)
@@ -1,37 +1,71 @@
 package Catalyst::Script::FastCGI;
 
 BEGIN { $ENV{CATALYST_ENGINE} ||= 'FastCGI' }
-use FindBin qw/$Bin/;
-use lib "$Bin/../lib";
-use Pod::Usage;
 use Moose;
+use MooseX::Types::Moose qw/Str Bool Int/;
 use namespace::autoclean;
 
-with 'MooseX::Getopt';
-
-has help        => ( isa => 'Bool',   is => 'ro', required => 0 );
-has listen      => ( isa => 'Int',    is => 'ro', required => 1 );
-has pidfile     => ( isa => 'Str',    is => 'ro', required => 0 );
-has daemon      => ( isa => 'Bool',   is => 'ro', required => 0 );
-has manager     => ( isa => 'Str',    is => 'ro', required => 0 );
-has keep_stderr => ( isa => 'Bool',   is => 'ro', required => 0 );
-has nproc       => ( isa => 'Int',    is => 'ro', required => 0 );
-has detach      => ( isa => 'Bool',   is => 'ro', required => 0 );
-has _app => (
-    reader   => 'app',
-    init_arg => 'app',
-    traits => [qw(NoGetopt)],
-    isa => 'Str',
+with 'Catalyst::ScriptRole';
+
+has listen => (
+    traits => [qw(Getopt)],
+    cmd_aliases => 'l',
+    isa => Int,
+    is => 'ro',
+    documentation => 'Specify a listening port/socket',
+);
+
+has pidfile => (
+    traits => [qw(Getopt)],
+    cmd_aliases => 'pid',
+    isa => Str,
     is => 'ro',
+    documentation => 'Specify a pidfile',
+);
+
+has daemon => (
+    traits => [qw(Getopt)],
+    isa => Bool,   
+    is => 'ro', 
+    cmd_aliases => 'd', 
+    documentation => 'Daemonize',
+);
+
+has manager => (
+    traits => [qw(Getopt)],
+    isa => Str,    
+    is => 'ro',
+    cmd_aliases => 'm',
+    documentation => 'Use a different FastCGI manager', # FIXME
+);
+
+has keep_stderr => (
+    traits => [qw(Getopt)],
+    cmd_aliases => 'std', 
+    isa => Bool,   
+    is => 'ro',  
+    documentation => 'Log STDERR',
+);
+
+has nproc => (
+    traits => [qw(Getopt)],
+    cmd_aliases => 'np',  
+    isa => Int,
+    is => 'ro',  
+    documentation => 'Specify an nproc', # FIXME
 );
 
-sub run {
-    my $self = shift;
+has detach => (
+    traits => [qw(Getopt)],
+    cmd_aliases => 'det', 
+    isa => Bool,   
+    is => 'ro',  
+    documentation => 'Detach this FastCGI process',
+);
 
-    pod2usage() if $self->help;
-    my $app = $self->app;
-    Class::MOP::load_class($app);
-    $app->run(
+sub _application_args {
+    my ($self) = shift;
+    return (
         $self->listen,
         {
             nproc   => $self->nproc,
@@ -41,7 +75,29 @@ sub run {
             keep_stderr => $self->keep_stderr,
         }
     );
-
 }
 
-1;
+__PACKAGE__->meta->make_immutable;
+
+=head1 NAME
+
+Catalyst::Script::FastCGI - The FastCGI Catalyst Script
+
+=head1 SYNOPSIS
+
+See L<Catalyst>.
+
+=head1 DESCRIPTION
+
+FIXME
+
+=head1 AUTHORS
+
+Catalyst Contributors, see Catalyst.pm
+
+=head1 COPYRIGHT
+
+This library is free software. You can redistribute it and/or modify it under
+the same terms as Perl itself.
+
+=cut