From 60a9efacdb5f45029638c197f4166d55366f6428 Mon Sep 17 00:00:00 2001 From: jluehrs2 Date: Fri, 9 May 2008 02:30:48 -0500 Subject: add a delete command --- lib/App/Hiveminder/Command/Delete.pm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 lib/App/Hiveminder/Command/Delete.pm diff --git a/lib/App/Hiveminder/Command/Delete.pm b/lib/App/Hiveminder/Command/Delete.pm new file mode 100644 index 0000000..4c105b7 --- /dev/null +++ b/lib/App/Hiveminder/Command/Delete.pm @@ -0,0 +1,30 @@ +#!/usr/bin/perl +package App::Hiveminder::Command::Delete; +use Moose; +use App::Hiveminder::Utils qw/display_tasks/; +extends 'App::Hiveminder::Command'; + +=head2 NAME + +App::Hiveminder::Command::Delete - Delete a task by locator + +=cut + +sub command_names { qw/delete rm del/ } + +sub command { + my ($self, $args) = @_; + # XXX: offer an interactive mode here, possibly + my $ret = ''; + for my $locator (@$args) { + my $desc = display_tasks($self->hm->read_task($locator)); + $ret .= "Deleted $desc\n"; + eval { $self->hm->delete('Task', id => $self->hm->loc2id($locator)) }; + warn $@ unless $@ =~ /404 Not Found/; + } + chomp $ret; + return $ret; +} + +__PACKAGE__->meta()->make_immutable(); +1; -- cgit v1.2.3