File Coverage

blib/lib/Pithub/PullRequests/Reviewers.pm
Criterion Covered Total %
statement 19 19 100.0
branch 8 8 100.0
condition n/a
subroutine 5 5 100.0
pod 3 3 100.0
total 35 35 100.0


line stmt bran cond sub pod time code
1             package Pithub::PullRequests::Reviewers;
2             our $AUTHORITY = 'cpan:PLU';
3             our $VERSION = '0.01043';
4              
5             # ABSTRACT: Github v3 Pull Request Review Requests API
6              
7 17     17   110 use Moo;
  17         56  
  17         101  
8 17     17   6686 use Carp qw( croak );
  17         36  
  17         6966  
9             extends 'Pithub::Base';
10              
11              
12             sub delete {
13 3     3 1 2117 my ( $self, %args ) = @_;
14             croak 'Missing key in parameters: pull_request_id'
15 3 100       25 unless $args{pull_request_id};
16 2         13 $self->_validate_user_repo_args( \%args );
17             return $self->request(
18             method => 'DELETE',
19             path => sprintf(
20             '/repos/%s/%s/pulls/%s/requested_reviewers', delete $args{user},
21             delete $args{repo}, delete $args{pull_request_id}
22 2         19 ),
23             %args,
24             );
25             }
26              
27              
28             sub list {
29 2     2 1 1064 my ( $self, %args ) = @_;
30             croak 'Missing key in parameters: pull_request_id'
31 2 100       45 unless $args{pull_request_id};
32 1         6 $self->_validate_user_repo_args( \%args );
33             return $self->request(
34             method => 'GET',
35             path => sprintf(
36             '/repos/%s/%s/pulls/%s/requested_reviewers', delete $args{user},
37             delete $args{repo}, delete $args{pull_request_id}
38 1         13 ),
39             %args,
40             );
41             }
42              
43              
44             sub update {
45 5     5 1 3389 my ( $self, %args ) = @_;
46             croak 'Missing key in parameters: pull_request_id'
47 5 100       41 unless $args{pull_request_id};
48             croak 'Missing key in parameters: data (hashref)'
49 4 100       27 unless ref $args{data} eq 'HASH';
50 2         11 $self->_validate_user_repo_args( \%args );
51             return $self->request(
52             method => 'POST',
53             path => sprintf(
54             '/repos/%s/%s/pulls/%s/requested_reviewers', delete $args{user},
55             delete $args{repo}, delete $args{pull_request_id}
56 2         30 ),
57             %args,
58             );
59             }
60              
61             1;
62              
63             __END__