File Coverage

blib/lib/WWW/Gitea/Repo.pm
Criterion Covered Total %
statement 13 40 32.5
branch 1 2 50.0
condition n/a
subroutine 7 24 29.1
pod 22 22 100.0
total 43 88 48.8


line stmt bran cond sub pod time code
1             package WWW::Gitea::Repo;
2              
3             # ABSTRACT: Gitea repository entity
4              
5 3     3   18 use Moo;
  3         5  
  3         16  
6 3     3   836 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 0     0 1 0 sub id { $_[0]->data->{id} }
23 1     1 1 1771 sub name { $_[0]->data->{name} }
24 1     1 1 8 sub full_name { $_[0]->data->{full_name} }
25 0     0 1 0 sub description { $_[0]->data->{description} }
26 0     0 1 0 sub private { $_[0]->data->{private} }
27 0     0 1 0 sub fork { $_[0]->data->{fork} }
28 0     0 1 0 sub html_url { $_[0]->data->{html_url} }
29 0     0 1 0 sub clone_url { $_[0]->data->{clone_url} }
30 0     0 1 0 sub ssh_url { $_[0]->data->{ssh_url} }
31 1     1 1 7 sub default_branch { $_[0]->data->{default_branch} }
32 1     1 1 9 sub stars_count { $_[0]->data->{stars_count} }
33 0     0 1 0 sub forks_count { $_[0]->data->{forks_count} }
34 0     0 1 0 sub open_issues_count { $_[0]->data->{open_issues_count} }
35              
36             sub owner_login {
37 1     1 1 3 my ($self) = @_;
38 1         6 my $o = $self->data->{owner};
39 1 50       9 return $o ? $o->{login} : undef;
40             }
41              
42              
43             sub refresh {
44 0     0 1   my ($self) = @_;
45 0           my $fresh = $self->_client->repos->get($self->owner_login, $self->name);
46 0           $self->data($fresh->data);
47 0           return $self;
48             }
49              
50              
51             sub delete {
52 0     0 1   my ($self) = @_;
53 0           return $self->_client->repos->delete($self->owner_login, $self->name);
54             }
55              
56              
57             sub issues {
58 0     0 1   my ($self, %query) = @_;
59 0           return $self->_client->issues->list($self->owner_login, $self->name, %query);
60             }
61              
62              
63             sub create_issue {
64 0     0 1   my ($self, %args) = @_;
65 0           return $self->_client->issues->create($self->owner_login, $self->name, %args);
66             }
67              
68              
69             sub pulls {
70 0     0 1   my ($self, %query) = @_;
71 0           return $self->_client->pulls->list($self->owner_login, $self->name, %query);
72             }
73              
74              
75             sub labels {
76 0     0 1   my ($self) = @_;
77 0           return $self->_client->labels->list($self->owner_login, $self->name);
78             }
79              
80              
81             sub milestones {
82 0     0 1   my ($self, %query) = @_;
83 0           return $self->_client->milestones->list($self->owner_login, $self->name, %query);
84             }
85              
86              
87             sub releases {
88 0     0 1   my ($self, %query) = @_;
89 0           return $self->_client->releases->list($self->owner_login, $self->name, %query);
90             }
91              
92              
93              
94             1;
95              
96             __END__