File Coverage

blib/lib/Pithub/SearchV3.pm
Criterion Covered Total %
statement 15 17 88.2
branch 3 6 50.0
condition n/a
subroutine 6 7 85.7
pod 4 4 100.0
total 28 34 82.3


line stmt bran cond sub pod time code
1             package Pithub::SearchV3;
2             our $AUTHORITY = 'cpan:PLU';
3             our $VERSION = '0.01041';
4              
5             # ABSTRACT: Github v3 Search API
6              
7 15     15   104 use Moo;
  15         31  
  15         88  
8 15     15   4478 use Carp qw( croak );
  15         44  
  15         4523  
9             extends 'Pithub::Base';
10              
11              
12             sub issues {
13 1     1 1 6155 my $self = shift;
14 1         7 return $self->_search( 'issues', @_ );
15             }
16              
17              
18             sub repos {
19 1     1 1 1085 my $self = shift;
20 1         5 return $self->_search( 'repositories', @_ );
21             }
22              
23              
24             sub users {
25 1     1 1 1082 my $self = shift;
26 1         4 return $self->_search( 'users', @_ );
27             }
28              
29              
30             sub code {
31 0     0 1 0 my $self = shift;
32 0         0 return $self->_search( 'code', @_ );
33             }
34              
35             sub _search {
36 3     3   39 my ( $self, $thing_to_search, %args ) = @_;
37 3 50       22 croak 'Missing key in parameters: q' unless exists $args{q};
38             return $self->request(
39             method => 'GET',
40             path => '/search/' . $thing_to_search,
41             query => {
42             q => delete $args{q},
43             ( exists $args{sort} ? ( sort => delete $args{sort} ) : () ),
44 3 50       39 ( exists $args{order} ? ( order => delete $args{order} ) : () ),
    50          
45             },
46             %args,
47             );
48             }
49              
50             1;
51              
52             __END__