AnyEvent-WebService-Tracks

 view release on metacpan or  search on metacpan

lib/AnyEvent/WebService/Tracks/Todo.pm  view on Meta::CPAN


    $self->{'show_from'}           = $show_from;
    $self->{'_dirty'}{'show_from'} = 1;
}

sub context {
    my ( $self, $cb_or_ctx ) = @_;

    if(ref($cb_or_ctx) eq 'CODE') {
        my $id = $self->{'context_id'};
        if(defined $id) {
            $self->{'parent'}->fetch_single('contexts', $id,
                'AnyEvent::WebService::Tracks::Context', $cb_or_ctx);
        } else {
            $cb_or_ctx->(undef);
        }
    } else {
        $self->{'context_id'} = $cb_or_ctx->id;
        $self->{'_dirty'}{'context_id'} = 1;
    }
}

sub project {
    my ( $self, $cb_or_proj ) = @_;

    if(ref($cb_or_proj) eq 'CODE') {
        my $id = $self->{'project_id'};
        if(defined $id) {
            $self->{'parent'}->fetch_single('projects', $id,
                'AnyEvent::WebService::Tracks::Project', $cb_or_proj);
        } else {
            $cb_or_proj->(undef);
        }
    } else {
        if(defined $cb_or_proj) {
            $self->{'project_id'} = $cb_or_proj->id;
        } else {
            $self->{'project_id'} = undef;
        }
        $self->{'_dirty'}{'project_id'} = 1;
    }
}

1;

__END__

=head1 NAME

AnyEvent::WebService::Tracks::Todo - Tracks todo objects

=head1 VERSION

0.02

=head1 SYNOPSIS

  $tracks->create_todo($description, $context, sub {
    my ( $todo ) = @_;

    say $todo->description;
  });

=head1 DESCRIPTION

AnyEvent::WebService::Tracks::Todo objects represent GTD todo items
in a Tracks installation.

=head1 READ-ONLY ATTRIBUTES

=head2 completed_at

When the todo was completed.

=head2 created_at

When the todo was created.

=head2 id

The Tracks ID of this todo item.

=head2 recurring_todo_id

Unused by this library for now.

=head2 updated_at

When the todo was last updated.

=head2 is_complete

Whether or not the todo item is complete.

=head2 is_active

Whether or not the todo item is active.

=head2 is_project_hidden

Whether or not the todo item's project is hidden.

=head2 is_deferred

Whether or not the todo item has been deferred.

=head1 WRITABLE ATTRIBUTES

=head2 description

A description of this todo item.

=head2 due

When this todo item is due.

=head2 notes

Any notes attached to this todo item.

=head2 show_from



( run in 0.315 second using v1.01-cache-2.11-cpan-71847e10f99 )