File Coverage

blib/lib/Pithub/Users/Keys.pm
Criterion Covered Total %
statement 17 17 100.0
branch 6 6 100.0
condition n/a
subroutine 6 6 100.0
pod 4 4 100.0
total 33 33 100.0


line stmt bran cond sub pod time code
1             package Pithub::Users::Keys;
2             our $AUTHORITY = 'cpan:PLU';
3             our $VERSION = '0.01040';
4             # ABSTRACT: Github v3 User Keys API
5              
6 16     16   95 use Moo;
  16         32  
  16         80  
7 16     16   4450 use Carp qw( croak );
  16         41  
  16         4245  
8             extends 'Pithub::Base';
9              
10              
11             sub create {
12 4     4 1 7918 my ( $self, %args ) = @_;
13 4 100       23 croak 'Missing key in parameters: data (hashref)' unless ref $args{data} eq 'HASH';
14 3         22 return $self->request(
15             method => 'POST',
16             path => '/user/keys',
17             %args,
18             );
19             }
20              
21              
22             sub delete {
23 4     4 1 3155 my ( $self, %args ) = @_;
24 4 100       21 croak 'Missing key in parameters: key_id' unless $args{key_id};
25             return $self->request(
26             method => 'DELETE',
27 3         27 path => sprintf( '/user/keys/%s', delete $args{key_id} ),
28             %args,
29             );
30             }
31              
32              
33             sub get {
34 4     4 1 3099 my ( $self, %args ) = @_;
35 4 100       22 croak 'Missing key in parameters: key_id' unless $args{key_id};
36             return $self->request(
37             method => 'GET',
38 3         33 path => sprintf( '/user/keys/%s', delete $args{key_id} ),
39             %args,
40             );
41             }
42              
43              
44             sub list {
45 3     3 1 2443 my ( $self, %args ) = @_;
46 3         20 return $self->request(
47             method => 'GET',
48             path => '/user/keys',
49             %args,
50             );
51             }
52              
53             1;
54              
55             __END__