X-Git-Url: http://git.vpit.fr/?p=perl%2Fmodules%2Frgit.git;a=blobdiff_plain;f=lib%2FApp%2FRgit.pm;h=ea9df10da2367299fe37c7ad995f43e9db3b69b1;hp=1c8873d714b3a8a360a6091c38f123b658467a39;hb=1c5bf56c6f80e4cd818c341b34ba3410f34ed514;hpb=caf4ff14ac06ea364ea51f725d041fd715e9682f diff --git a/lib/App/Rgit.pm b/lib/App/Rgit.pm index 1c8873d..ea9df10 100644 --- a/lib/App/Rgit.pm +++ b/lib/App/Rgit.pm @@ -5,7 +5,6 @@ use warnings; use App::Rgit::Command; use App::Rgit::Config; -use App::Rgit::Utils qw/validate/; =head1 NAME @@ -34,19 +33,25 @@ Creates a new L object that's bound to execute the command C<$cmd> on =cut sub new { - my ($class, %args) = &validate; + my $class = shift; + $class = ref $class || $class; + + my %args = @_; + my $config = App::Rgit::Config->new( root => $args{root}, git => $args{git}, debug => $args{debug}, ); return unless defined $config; + my $command = App::Rgit::Command->new( cmd => $args{cmd}, args => $args{args}, policy => $args{policy}, ); return unless defined $command; + bless { config => $config, command => $command, @@ -61,6 +66,7 @@ Actually run the commands. sub run { my $self = shift; + $self->command->run($self->config); }