File Coverage

blib/lib/Pithub/Search.pm
Criterion Covered Total %
statement 20 20 100.0
branch 10 10 100.0
condition n/a
subroutine 6 6 100.0
pod 4 4 100.0
total 40 40 100.0


line stmt bran cond sub pod time code
1             package Pithub::Search;
2             our $AUTHORITY = 'cpan:PLU';
3             our $VERSION = '0.01041';
4              
5             # ABSTRACT: Github legacy Search API
6              
7 16     16   95291 use Moo;
  16         11604  
  16         88  
8 16     16   6313 use Carp qw( croak );
  16         51  
  16         5913  
9             extends 'Pithub::Base';
10              
11              
12             sub email {
13 4     4 1 13787 my ( $self, %args ) = @_;
14 4 100       38 croak 'Missing key in parameters: email' unless $args{email};
15             return $self->request(
16             method => 'GET',
17 3         39 path => sprintf( '/legacy/user/email/%s', delete $args{email} ),
18             %args,
19             );
20             }
21              
22              
23             sub issues {
24 5     5 1 3996 my ( $self, %args ) = @_;
25 5         29 $self->_validate_user_repo_args( \%args );
26 5 100       24 croak 'Missing key in parameters: state' unless $args{state};
27 4 100       18 croak 'Missing key in parameters: keyword' unless $args{keyword};
28             return $self->request(
29             method => 'GET',
30             path => sprintf(
31             '/legacy/issues/search/%s/%s/%s/%s', delete $args{user},
32             delete $args{repo}, delete $args{state}, delete $args{keyword}
33 3         33 ),
34             %args,
35             );
36             }
37              
38              
39             sub repos {
40 4     4 1 3278 my ( $self, %args ) = @_;
41 4 100       30 croak 'Missing key in parameters: keyword' unless $args{keyword};
42             return $self->request(
43             method => 'GET',
44 3         33 path => sprintf( '/legacy/repos/search/%s', delete $args{keyword} ),
45             %args,
46             );
47             }
48              
49              
50             sub users {
51 4     4 1 3229 my ( $self, %args ) = @_;
52 4 100       30 croak 'Missing key in parameters: keyword' unless $args{keyword};
53             return $self->request(
54             method => 'GET',
55 3         34 path => sprintf( '/legacy/user/search/%s', delete $args{keyword} ),
56             %args,
57             );
58             }
59              
60             1;
61              
62             __END__