use MooseX::Types::Moose qw/Str Bool/;
use namespace::autoclean;
-has app => (isa => Str, is => 'ro', required => 1);
-
-sub new_with_options { shift->new(@_) }
+with "MooseX::Getopt";
+
+has _app => (
+ reader => 'app',
+ init_arg => 'app',
+ traits => [qw(NoGetopt)],
+ isa => Str,
+ is => 'ro',
+);
+
+has force => (
+ traits => [qw(Getopt)],
+ cmd_aliases => 'nonew',
+ isa => Bool,
+ is => 'ro',
+ documentation => qq{ force new scripts }
+);
+
+has help => (
+ traits => [qw(Getopt)],
+ cmd_aliases => 'h',
+ isa => Bool,
+ is => 'ro',
+ documentation => qq{ display this help and exits },
+);
+
+has debug => (
+ traits => [qw(Getopt)],
+ cmd_aliases => 'd',
+ isa => Bool,
+ is => 'ro',
+ documentation => qq{ force debug mode }
+);
+
+has mechanize => (
+ traits => [qw(Getopt)],
+ cmd_aliases => 'mech',
+ isa => Bool,
+ is => 'ro',
+ documentation => qq{ use WWW::Mechanize },
+);
sub run {
my ($self) = @_;
-my $force = 0;
-my $mech = 0;
-my $help = 0;
-GetOptions(
- 'nonew|force' => \$force,
- 'mech|mechanize' => \$mech,
- 'help|?' => \$help
- );
-pod2usage(1) if ( $help || !$ARGV[0] );
+ pod2usage(1) if ( $self->help || !$ARGV[0] );
-my $helper = Catalyst::Helper->new( { '.newfiles' => !$force, mech => $mech } );
+ my $helper = Catalyst::Helper->new( { '.newfiles' => !$self->force, mech => $self->mech } );
-pod2usage(1) unless $helper->mk_component( $self->app, @ARGV );
+ pod2usage(1) unless $helper->mk_component( $self->app, @ARGV );
}
-no Moose;
__PACKAGE__->meta->make_immutable;
1;
reader => 'app',
init_arg => 'app',
traits => [qw(NoGetopt)],
- isa => 'Str',
+ isa => Str,
is => 'ro',
);
has conf => (
is => 'ro',
- isa => 'Str',
+ isa => Str,
traits => [qw(Getopt)],
cmd_alias => 'c',
documentation => qq{ specify a configuration file to read from }
);
-
-
-
-
sub usage {
print "usage: perl script/myapp_deploy_schema.pl myapp.conf\n";
}
-no Moose;
__PACKAGE__->meta->make_immutable;
1;
has help => (
traits => [qw(Getopt)],
cmd_aliases => 'h',
- isa => 'Bool',
+ isa => Bool,
is => 'ro',
documentation => qq{ display this help and exits },
);
has listen => (
traits => [qw(Getopt)],
cmd_aliases => 'l',
- isa => 'Int',
+ isa => Int,
is => 'ro',
default => "3000",
documentation => qq{ specify a different listening port }
has pidfile => (
traits => [qw(Getopt)],
cmd_aliases => 'pid',
- isa => 'Str',
+ isa => Str,
is => 'ro',
documentation => qq{ specify a pidfile }
);
has daemon => (
- isa => 'Bool',
+ isa => Bool,
is => 'ro',
traits => [qw(Getopt)],
cmd_aliases => 'd',
);
has manager => (
- isa => 'Str',
+ isa => Str,
is => 'ro',
traits => [qw(Getopt)],
cmd_aliases => 'm',
has keep_stderr => (
traits => [qw(Getopt)],
cmd_aliases => 'std',
- isa => 'Bool',
+ isa => Bool,
is => 'ro',
documentation => qq{ log STDERR }
);
has nproc => (
traits => [qw(Getopt)],
cmd_aliases => 'np',
- isa => 'Int',
+ isa => Int,
is => 'ro',
documentation => qq{ specify an nproc }
);
has detach => (
traits => [qw(Getopt)],
cmd_aliases => 'det',
- isa => 'Bool',
+ isa => Bool,
is => 'ro',
documentation => qq{ detach this FastCGI process }
);
reader => 'app',
init_arg => 'app',
traits => [qw(NoGetopt)],
- isa => 'Str',
+ isa => Str,
is => 'ro',
);
}
+__PACKAGE__->meta->make_immutable;
+
1;
has debug => (
traits => [qw(Getopt)],
cmd_aliases => 'd',
- isa => 'Bool',
+ isa => Bool,
is => 'ro',
documentation => qq{ force debug mode }
-
);
has help => (
traits => [qw(Getopt)],
cmd_aliases => 'h',
- isa => 'Bool',
+ isa => Bool,
is => 'ro',
documentation => qq{ display this help and exits },
);
has host => (
- isa => 'Str',
+ isa => Str,
is => 'ro',
default => "localhost",
documentation => qq{ specify a host for the server to run on }
has fork => (
traits => [qw(Getopt)],
cmd_aliases => 'f',
- isa => 'Bool',
+ isa => Bool,
is => 'ro',
documentation => qq{ fork the server }
);
has listen => (
traits => [qw(Getopt)],
cmd_aliases => 'l',
- isa => 'Int',
+ isa => Int,
is => 'ro',
default => "3000",
documentation => qq{ specify a different listening port }
has pidfile => (
traits => [qw(Getopt)],
cmd_aliases => 'pid',
- isa => 'Str',
+ isa => Str,
is => 'ro',
documentation => qq{ specify a pidfile }
);
has keepalive => (
traits => [qw(Getopt)],
cmd_aliases => 'k',
- isa => 'Bool',
+ isa => Bool,
is => 'ro',
documentation => qq{ server keepalive },
has background => (
traits => [qw(Getopt)],
cmd_aliases => 'bg',
- isa => 'Bool',
+ isa => Bool,
is => 'ro',
documentation => qq{ run in the background }
);
reader => 'app',
init_arg => 'app',
traits => [qw(NoGetopt)],
- isa => 'Str',
+ isa => Str,
is => 'ro',
);
has restart => (
traits => [qw(Getopt)],
cmd_aliases => 'r',
- isa => 'Bool',
+ isa => Bool,
is => 'ro',
documentation => qq{ use Catalyst::Restarter to detect code changes }
);
has restart_delay => (
traits => [qw(Getopt)],
cmd_aliases => 'rdel',
- isa => 'Int',
+ isa => Int,
is => 'ro',
predicate => '_has_restart_delay',
documentation => qq{ set a restart delay }
has restart_regex => (
traits => [qw(Getopt)],
cmd_aliases => 'rxp',
- isa => 'Str',
+ isa => Str,
is => 'ro',
predicate => '_has_restart_regex',
documentation => qq{ restart regex }
has follow_symlinks => (
traits => [qw(Getopt)],
cmd_aliases => 'sym',
- isa => 'Bool',
+ isa => Bool,
is => 'ro',
predicate => '_has_follow_symlinks',
documentation => qq{ follow symbolic links }
}
-no Moose;
__PACKAGE__->meta->make_immutable;
1;
reader => 'app',
init_arg => 'app',
traits => [qw(NoGetopt)],
- isa => 'Str',
+ isa => Str,
is => 'ro',
);
has help => (
traits => [qw(Getopt)],
cmd_aliases => 'h',
- isa => 'Bool',
+ isa => Bool,
is => 'ro',
documentation => qq{ display this help and exits },
);
}
-no Moose;
+
__PACKAGE__->meta->make_immutable;
1;