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.01039';
4             # ABSTRACT: Github v3 User Keys API
5              
6 15     15   85 use Moo;
  15         26  
  15         71  
7 15     15   3870 use Carp qw( croak );
  15         28  
  15         3925  
8             extends 'Pithub::Base';
9              
10              
11             sub create {
12 4     4 1 7619 my ( $self, %args ) = @_;
13 4 100       25 croak 'Missing key in parameters: data (hashref)' unless ref $args{data} eq 'HASH';
14 3         29 return $self->request(
15             method => 'POST',
16             path => '/user/keys',
17             %args,
18             );
19             }
20              
21              
22             sub delete {
23 4     4 1 3057 my ( $self, %args ) = @_;
24 4 100       22 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 3058 my ( $self, %args ) = @_;
35 4 100       23 croak 'Missing key in parameters: key_id' unless $args{key_id};
36             return $self->request(
37             method => 'GET',
38 3         26 path => sprintf( '/user/keys/%s', delete $args{key_id} ),
39             %args,
40             );
41             }
42              
43              
44             sub list {
45 3     3 1 2349 my ( $self, %args ) = @_;
46 3         16 return $self->request(
47             method => 'GET',
48             path => '/user/keys',
49             %args,
50             );
51             }
52              
53             1;
54              
55             __END__