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.01041';
4              
5             # ABSTRACT: Github v3 Pull Request Review Requests API
6              
7 17     17   128 use Moo;
  17         41  
  17         96  
8 17     17   5490 use Carp qw( croak );
  17         58  
  17         6132  
9             extends 'Pithub::Base';
10              
11              
12             sub delete {
13 3     3 1 2258 my ( $self, %args ) = @_;
14             croak 'Missing key in parameters: pull_request_id'
15 3 100       19 unless $args{pull_request_id};
16 2         12 $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         23 ),
23             %args,
24             );
25             }
26              
27              
28             sub list {
29 2     2 1 1136 my ( $self, %args ) = @_;
30             croak 'Missing key in parameters: pull_request_id'
31 2 100       18 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         16 ),
39             %args,
40             );
41             }
42              
43              
44             sub update {
45 5     5 1 3699 my ( $self, %args ) = @_;
46             croak 'Missing key in parameters: pull_request_id'
47 5 100       26 unless $args{pull_request_id};
48             croak 'Missing key in parameters: data (hashref)'
49 4 100       30 unless ref $args{data} eq 'HASH';
50 2         9 $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         17 ),
57             %args,
58             );
59             }
60              
61             1;
62              
63             __END__