AnyEvent-WebService-Tracks
view release on metacpan or search on metacpan
lib/AnyEvent/WebService/Tracks/Todo.pm view on Meta::CPAN
package AnyEvent::WebService::Tracks::Todo;
use strict;
use warnings;
use parent 'AnyEvent::WebService::Tracks::Resource';
use Carp qw(croak);
use Scalar::Util qw(looks_like_number);
use namespace::clean;
our $VERSION = '0.02';
__PACKAGE__->readonly(qw/completed_at created_at id recurring_todo_id updated_at/);
__PACKAGE__->accessor(qw/description due notes show_from/);
# here, but not actually accessible: context_id project_id state
sub resource_path {
return 'todos';
}
sub xml_root {
return 'todo';
}
sub is_complete {
my ( $self ) = @_;
return $self->{'state'} eq 'completed';
}
sub is_active {
my ( $self ) = @_;
return $self->{'state'} eq 'active';
}
sub is_project_hidden {
my ( $self ) = @_;
return $self->{'state'} eq 'project_hidden';
}
sub is_deferred {
my ( $self ) = @_;
return $self->{'state'} eq 'deferred';
}
sub complete {
my ( $self ) = @_;
$self->{'state'} = 'completed';
$self->{'_dirty'}{'state'} = 1;
if(defined $self->{'show_from'}) {
undef $self->{'show_from'};
$self->{'_dirty'}{'show_from'} = 1;
}
}
sub activate {
my ( $self ) = @_;
$self->{'state'} = 'active';
$self->{'_dirty'}{'state'} = 1;
( run in 1.828 second using v1.01-cache-2.11-cpan-39bf76dae61 )