File Coverage

blib/lib/Pithub/PullRequests/Comments.pm
Criterion Covered Total %
statement 28 28 100.0
branch 14 14 100.0
condition n/a
subroutine 7 7 100.0
pod 5 5 100.0
total 54 54 100.0


line stmt bran cond sub pod time code
1             package Pithub::PullRequests::Comments;
2             our $AUTHORITY = 'cpan:PLU';
3             our $VERSION = '0.01039';
4             # ABSTRACT: Github v3 Pull Request Comments API
5              
6 16     16   93 use Moo;
  16         32  
  16         77  
7 16     16   4199 use Carp qw( croak );
  16         39  
  16         7244  
8             extends 'Pithub::Base';
9              
10              
11             sub create {
12 6     6 1 10046 my ( $self, %args ) = @_;
13 6 100       35 croak 'Missing key in parameters: pull_request_id' unless $args{pull_request_id};
14 5 100       28 croak 'Missing key in parameters: data (hashref)' unless ref $args{data} eq 'HASH';
15 3         29 $self->_validate_user_repo_args( \%args );
16             return $self->request(
17             method => 'POST',
18 3         37 path => sprintf( '/repos/%s/%s/pulls/%s/comments', delete $args{user}, delete $args{repo}, delete $args{pull_request_id} ),
19             %args
20             );
21             }
22              
23              
24             sub delete {
25 4     4 1 3679 my ( $self, %args ) = @_;
26 4 100       32 croak 'Missing key in parameters: comment_id' unless $args{comment_id};
27 3         17 $self->_validate_user_repo_args( \%args );
28             return $self->request(
29             method => 'DELETE',
30 3         30 path => sprintf( '/repos/%s/%s/pulls/comments/%s', delete $args{user}, delete $args{repo}, delete $args{comment_id} ),
31             %args,
32             );
33             }
34              
35              
36             sub get {
37 3     3 1 2482 my ( $self, %args ) = @_;
38 3 100       27 croak 'Missing key in parameters: comment_id' unless $args{comment_id};
39 2         13 $self->_validate_user_repo_args( \%args );
40             return $self->request(
41             method => 'GET',
42 2         24 path => sprintf( '/repos/%s/%s/pulls/comments/%s', delete $args{user}, delete $args{repo}, delete $args{comment_id} ),
43             %args,
44             );
45             }
46              
47              
48             sub list {
49 3     3 1 2420 my ( $self, %args ) = @_;
50 3 100       27 croak 'Missing key in parameters: pull_request_id' unless $args{pull_request_id};
51 2         14 $self->_validate_user_repo_args( \%args );
52             return $self->request(
53             method => 'GET',
54 2         24 path => sprintf( '/repos/%s/%s/pulls/%s/comments', delete $args{user}, delete $args{repo}, delete $args{pull_request_id} ),
55             %args,
56             );
57             }
58              
59              
60             sub update {
61 6     6 1 5026 my ( $self, %args ) = @_;
62 6 100       37 croak 'Missing key in parameters: comment_id' unless $args{comment_id};
63 5 100       30 croak 'Missing key in parameters: data (hashref)' unless ref $args{data} eq 'HASH';
64 3         17 $self->_validate_user_repo_args( \%args );
65             return $self->request(
66             method => 'PATCH',
67 3         32 path => sprintf( '/repos/%s/%s/pulls/comments/%s', delete $args{user}, delete $args{repo}, delete $args{comment_id} ),
68             %args,
69             );
70             }
71              
72             1;
73              
74             __END__