File Coverage

blib/lib/WWW/Gitea/Release.pm
Criterion Covered Total %
statement 6 29 20.6
branch 0 2 0.0
condition n/a
subroutine 2 17 11.7
pod 15 15 100.0
total 23 63 36.5


line stmt bran cond sub pod time code
1             package WWW::Gitea::Release;
2              
3             # ABSTRACT: Gitea release entity
4              
5 3     3   17 use Moo;
  3         4  
  3         18  
6 3     3   795 use namespace::clean;
  3         4  
  3         16  
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 tag_name { $_[0]->data->{tag_name} }
28 0     0 1   sub name { $_[0]->data->{name} }
29 0     0 1   sub body { $_[0]->data->{body} }
30 0     0 1   sub draft { $_[0]->data->{draft} }
31 0     0 1   sub prerelease { $_[0]->data->{prerelease} }
32 0     0 1   sub html_url { $_[0]->data->{html_url} }
33 0     0 1   sub tarball_url { $_[0]->data->{tarball_url} }
34 0     0 1   sub zipball_url { $_[0]->data->{zipball_url} }
35 0     0 1   sub created_at { $_[0]->data->{created_at} }
36 0     0 1   sub published_at { $_[0]->data->{published_at} }
37 0 0   0 1   sub author_login { my $a = $_[0]->data->{author}; $a ? $a->{login} : undef }
  0            
38              
39              
40             sub refresh {
41 0     0 1   my ($self) = @_;
42 0           my $fresh = $self->_client->releases->get($self->owner, $self->repo, $self->id);
43 0           $self->data($fresh->data);
44 0           return $self;
45             }
46              
47              
48             sub edit {
49 0     0 1   my ($self, %args) = @_;
50 0           my $fresh = $self->_client->releases->edit(
51             $self->owner, $self->repo, $self->id, %args);
52 0           $self->data($fresh->data);
53 0           return $self;
54             }
55              
56              
57             sub delete {
58 0     0 1   my ($self) = @_;
59 0           return $self->_client->releases->delete($self->owner, $self->repo, $self->id);
60             }
61              
62              
63              
64             1;
65              
66             __END__