File Coverage

blib/lib/Pithub/Users.pm
Criterion Covered Total %
statement 25 25 100.0
branch 4 4 100.0
condition n/a
subroutine 10 10 100.0
pod 5 5 100.0
total 44 44 100.0


line stmt bran cond sub pod time code
1             package Pithub::Users;
2             our $AUTHORITY = 'cpan:PLU';
3             our $VERSION = '0.01040';
4             # ABSTRACT: Github v3 Users API
5              
6 16     16   9145 use Moo;
  16         10371  
  16         80  
7 16     16   5219 use Carp qw( croak );
  16         35  
  16         665  
8 16     16   6206 use Pithub::Users::Emails;
  16         46  
  16         412  
9 16     16   6218 use Pithub::Users::Followers;
  16         42  
  16         381  
10 16     16   6010 use Pithub::Users::Keys;
  16         49  
  16         3049  
11             extends 'Pithub::Base';
12              
13              
14             sub emails {
15 1     1 1 436 return shift->_create_instance('Pithub::Users::Emails', @_);
16             }
17              
18              
19             sub followers {
20 9     9 1 2169 return shift->_create_instance('Pithub::Users::Followers', @_);
21             }
22              
23              
24             sub get {
25 9     9 1 20292 my ( $self, %args ) = @_;
26 9 100       32 if ( $args{user} ) {
27             return $self->request(
28             method => 'GET',
29 7         70 path => sprintf( '/users/%s', delete $args{user} ),
30             %args,
31             );
32             }
33 2         10 return $self->request(
34             method => 'GET',
35             path => '/user',
36             %args,
37             );
38             }
39              
40              
41             sub keys {
42 1     1 1 1174 return shift->_create_instance('Pithub::Users::Keys', @_);
43             }
44              
45              
46             sub update {
47 4     4 1 3155 my ( $self, %args ) = @_;
48 4 100       24 croak 'Missing key in parameters: data (hashref)' unless ref $args{data} eq 'HASH';
49 3         18 return $self->request(
50             method => 'PATCH',
51             path => '/user',
52             %args,
53             );
54             }
55              
56             1;
57              
58             __END__