diff options
Diffstat (limited to 'lib/App/Hiveminder/Command/Decline.pm')
-rw-r--r-- | lib/App/Hiveminder/Command/Decline.pm | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/lib/App/Hiveminder/Command/Decline.pm b/lib/App/Hiveminder/Command/Decline.pm new file mode 100644 index 0000000..da34aac --- /dev/null +++ b/lib/App/Hiveminder/Command/Decline.pm @@ -0,0 +1,32 @@ +#!/usr/bin/perl +package App::Hiveminder::Command::Decline; +use Moose; +use App::Hiveminder::Utils qw/parse_args display_tasks/; +extends 'App::Hiveminder::Command'; + +=head2 NAME + +App::Hiveminder::Command::Decline - Decline offered tasks + +=cut + +sub command_names { qw/decline/ } + +sub command { + my $self = shift; + + return unless @_ > 0; + my $ret = ''; + for my $task ($hm->get_tasks(%{ parse_args @_ })) { + my $updated_task = $hm->update_task($task, accepted => 0); + # we get a task hash with each field undef if it succeeds + if (!defined $updated_task->{id}) { + $ret .= "Declined " . display_tasks($task) . "\n"; + } + } + + return $ret; +} + +__PACKAGE__->meta()->make_immutable(); +1; |