protect against re-upgrading
[scpubgit/Tak.git] / lib / App / Tak.pm
CommitLineData
511c36fe 1package App::Tak;
2
3use Moo;
4
5has env => (is => 'ro', required => 1);
6
7sub new_from_environment {
8 my $class = shift;
9 my %env = (
10 env => { %ENV }, argv => [ @ARGV ],
11 stdin => \*STDIN, stdout => \*STDOUT, stderr => \*STDERR
12 );
13 $class->new(env => \%env);
14}
15
16sub run {
17 my ($self) = @_;
18 my @argv = @{$self->env->{argv}};
19 require Tak::MyScript;
20 my $opt = Tak::MyScript->_parse_options(
21 'config|c=s;host|h=s@;local|l!;verbose|v+;quiet|q+', \@argv
22 );
23 Tak::MyScript->new(
24 options => $opt,
25 env => { %{$self->env}, argv => \@argv }
26 )->run;
27}
28
291;