File Coverage

blib/lib/WWW/Gitea/Milestone.pm
Criterion Covered Total %
statement 6 27 22.2
branch n/a
condition n/a
subroutine 2 14 14.2
pod 12 12 100.0
total 20 53 37.7


line stmt bran cond sub pod time code
1             package WWW::Gitea::Milestone;
2              
3             # ABSTRACT: Gitea milestone entity
4              
5 3     3   18 use Moo;
  3         3  
  3         24  
6 3     3   1013 use namespace::clean;
  3         4  
  3         23  
7              
8              
9             has _client => (
10             is => 'ro',
11             required => 1,
12             weak_ref => 1,
13             init_arg => 'client',
14             );
15              
16             has data => (
17             is => 'rw',
18             required => 1,
19             );
20              
21              
22             has owner => ( is => 'ro' );
23             has repo => ( is => 'ro' );
24              
25              
26 0     0 1   sub id { $_[0]->data->{id} }
27 0     0 1   sub title { $_[0]->data->{title} }
28 0     0 1   sub description { $_[0]->data->{description} }
29 0     0 1   sub state { $_[0]->data->{state} }
30 0     0 1   sub due_on { $_[0]->data->{due_on} }
31 0     0 1   sub open_issues { $_[0]->data->{open_issues} }
32 0     0 1   sub closed_issues { $_[0]->data->{closed_issues} }
33              
34              
35             sub refresh {
36 0     0 1   my ($self) = @_;
37 0           my $fresh = $self->_client->milestones->get($self->owner, $self->repo, $self->id);
38 0           $self->data($fresh->data);
39 0           return $self;
40             }
41              
42              
43             sub edit {
44 0     0 1   my ($self, %args) = @_;
45 0           my $fresh = $self->_client->milestones->edit(
46             $self->owner, $self->repo, $self->id, %args);
47 0           $self->data($fresh->data);
48 0           return $self;
49             }
50              
51              
52             sub close {
53 0     0 1   my ($self) = @_;
54 0           return $self->edit(state => 'closed');
55             }
56              
57              
58             sub reopen {
59 0     0 1   my ($self) = @_;
60 0           return $self->edit(state => 'open');
61             }
62              
63              
64             sub delete {
65 0     0 1   my ($self) = @_;
66 0           return $self->_client->milestones->delete($self->owner, $self->repo, $self->id);
67             }
68              
69              
70              
71             1;
72              
73             __END__