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.01043';
4              
5             # ABSTRACT: Github v3 Gist Comments API
6              
7 16     16   107 use Moo;
  16         33  
  16         142  
8 16     16   5810 use Carp qw( croak );
  16         46  
  16         8189  
9             extends 'Pithub::Base';
10              
11              
12             sub create {
13 6     6 1 14406 my ( $self, %args ) = @_;
14 6 100       42 croak 'Missing key in parameters: gist_id' unless $args{gist_id};
15             croak 'Missing key in parameters: data (hashref)'
16 5 100       46 unless ref $args{data} eq 'HASH';
17             return $self->request(
18             method => 'POST',
19 3         46 path => sprintf( '/gists/%s/comments', delete $args{gist_id} ),
20             %args,
21             );
22             }
23              
24              
25             sub delete {
26 5     5 1 5589 my ( $self, %args ) = @_;
27 5 100       38 croak 'Missing key in parameters: gist_id' unless $args{gist_id};
28 4 100       48 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         36 ),
35             %args,
36             );
37             }
38              
39              
40             sub get {
41 4     4 1 3952 my ( $self, %args ) = @_;
42 4 100       33 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         28 ),
50             %args,
51             );
52             }
53              
54              
55             sub list {
56 3     3 1 2910 my ( $self, %args ) = @_;
57 3 100       29 croak 'Missing key in parameters: gist_id' unless $args{gist_id};
58             return $self->request(
59             method => 'GET',
60 2         26 path => sprintf( '/gists/%s/comments', delete $args{gist_id} ),
61             %args,
62             );
63             }
64              
65              
66             sub update {
67 7     7 1 7477 my ( $self, %args ) = @_;
68 7 100       44 croak 'Missing key in parameters: gist_id' unless $args{gist_id};
69 6 100       32 croak 'Missing key in parameters: comment_id' unless $args{comment_id};
70             croak 'Missing key in parameters: data (hashref)'
71 5 100       71 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         39 ),
78             %args,
79             );
80             }
81              
82             1;
83              
84             __END__