X-Git-Url: http://git.ieval.ro/?a=blobdiff_plain;f=lib%2FGruntmaster%2FApp%2FCommand%2FRerun.pm;h=b12dda089cb97b7db3b50e712ae6acdb1f1e682b;hb=b35cbc0d6ca5baf03ffbeb2b9a375fa71f4d0ad3;hp=228fd556d33cb792d1c0dad9f4e40bdfb9f44ce5;hpb=e1b9f3ddadeb424826cacd6319cd065d9b008e95;p=gruntmaster-data.git diff --git a/lib/Gruntmaster/App/Command/Rerun.pm b/lib/Gruntmaster/App/Command/Rerun.pm index 228fd55..b12dda0 100644 --- a/lib/Gruntmaster/App/Command/Rerun.pm +++ b/lib/Gruntmaster/App/Command/Rerun.pm @@ -3,24 +3,32 @@ package Gruntmaster::App::Command::Rerun; use 5.014000; use warnings; -our $VERSION = '5999.000_004'; +our $VERSION = '5999.000_016'; use Gruntmaster::App '-command'; use Gruntmaster::Data; +use Scalar::Util qw/looks_like_number/; -sub usage_desc { '%c rerun id' } +sub usage_desc { '%c rerun id...' } sub validate_args { my ($self, $opt, $args) = @_; my @args = @$args; - $self->usage_error('This command only works on jobs') if $self->app->table && $self->app->table ne 'jobs'; - $self->usage_error('Wrong number of arguments') if @args != 1; + $self->usage_error('Not enough arguments') if @args < 1; } sub execute { my ($self, $opt, $args) = @_; - my ($obj) = @$args; - rerun_job $obj; + my @args = @$args; + + for my $obj (@args) { + if (looks_like_number $obj) { + rerun_job $obj; + } + else { + rerun_problem $obj; + } + } } 1; @@ -30,16 +38,19 @@ __END__ =head1 NAME -Gruntmaster::App::Command::Rerun - rerun a job +Gruntmaster::App::Command::Rerun - rerun some jobs and probles =head1 SYNOPSIS - gm rerun 123 + gm rerun 123 124 + + gm rerun aplusb aminusb + + gm rerun 12 aplusb =head1 DESCRIPTION -The rerun command takes the ID of a job, clears its result, and makes -B rerun it. +The rerun command takes some IDs of jobs and problems and reruns them. =head1 SEE ALSO @@ -51,7 +62,7 @@ Marius Gavrilescu, Emarius@ieval.roE =head1 COPYRIGHT AND LICENSE -Copyright (C) 2014-2015 by Marius Gavrilescu +Copyright (C) 2014-2016 by Marius Gavrilescu This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.20.1 or,