File Coverage

blib/lib/Pithub/Gists/Comments.pm
Criterion Covered Total %
statement 26 26 100.0
branch 20 20 100.0
condition n/a
subroutine 7 7 100.0
pod 5 5 100.0
total 58 58 100.0


line stmt bran cond sub pod time code
1             package Pithub::Gists::Comments;
2             our $AUTHORITY = 'cpan:PLU';
3             our $VERSION = '0.01041';
4              
5             # ABSTRACT: Github v3 Gist Comments API
6              
7 16     16   113 use Moo;
  16         38  
  16         95  
8 16     16   4912 use Carp qw( croak );
  16         43  
  16         8260  
9             extends 'Pithub::Base';
10              
11              
12             sub create {
13 6     6 1 10490 my ( $self, %args ) = @_;
14 6 100       40 croak 'Missing key in parameters: gist_id' unless $args{gist_id};
15             croak 'Missing key in parameters: data (hashref)'
16 5 100       31 unless ref $args{data} eq 'HASH';
17             return $self->request(
18             method => 'POST',
19 3         34 path => sprintf( '/gists/%s/comments', delete $args{gist_id} ),
20             %args,
21             );
22             }
23              
24              
25             sub delete {
26 5     5 1 4564 my ( $self, %args ) = @_;
27 5 100       32 croak 'Missing key in parameters: gist_id' unless $args{gist_id};
28 4 100       23 croak 'Missing key in parameters: comment_id' unless $args{comment_id};
29             return $self->request(
30             method => 'DELETE',
31             path => sprintf(
32             '/gists/%s/comments/%s', delete $args{gist_id},
33             delete $args{comment_id}
34 3         33 ),
35             %args,
36             );
37             }
38              
39              
40             sub get {
41 4     4 1 3585 my ( $self, %args ) = @_;
42 4 100       22 croak 'Missing key in parameters: gist_id' unless $args{gist_id};
43 3 100       31 croak 'Missing key in parameters: comment_id' unless $args{comment_id};
44             return $self->request(
45             method => 'GET',
46             path => sprintf(
47             '/gists/%s/comments/%s', delete $args{gist_id},
48             delete $args{comment_id}
49 2         25 ),
50             %args,
51             );
52             }
53              
54              
55             sub list {
56 3     3 1 2513 my ( $self, %args ) = @_;
57 3 100       24 croak 'Missing key in parameters: gist_id' unless $args{gist_id};
58             return $self->request(
59             method => 'GET',
60 2         25 path => sprintf( '/gists/%s/comments', delete $args{gist_id} ),
61             %args,
62             );
63             }
64              
65              
66             sub update {
67 7     7 1 6315 my ( $self, %args ) = @_;
68 7 100       46 croak 'Missing key in parameters: gist_id' unless $args{gist_id};
69 6 100       24 croak 'Missing key in parameters: comment_id' unless $args{comment_id};
70             croak 'Missing key in parameters: data (hashref)'
71 5 100       33 unless ref $args{data} eq 'HASH';
72             return $self->request(
73             method => 'PATCH',
74             path => sprintf(
75             '/gists/%s/comments/%s', delete $args{gist_id},
76             delete $args{comment_id}
77 3         41 ),
78             %args,
79             );
80             }
81              
82             1;
83              
84             __END__