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.01040';
4             # ABSTRACT: Github v3 Search API
5              
6 15     15   89 use Moo;
  15         34  
  15         139  
7 15     15   3939 use Carp qw( croak );
  15         33  
  15         3899  
8             extends 'Pithub::Base';
9              
10              
11             sub issues {
12 1     1 1 5221 my $self = shift;
13 1         7 return $self->_search('issues', @_);
14             }
15              
16              
17             sub repos {
18 1     1 1 919 my $self = shift;
19 1         5 return $self->_search('repositories', @_);
20             }
21              
22              
23             sub users {
24 1     1 1 895 my $self = shift;
25 1         5 return $self->_search('users', @_);
26             }
27              
28              
29             sub code {
30 0     0 1 0 my $self = shift;
31 0         0 return $self->_search('code', @_);
32             }
33              
34             sub _search {
35 3     3   32 my ( $self, $thing_to_search, %args ) = @_;
36 3 50       14 croak 'Missing key in parameters: q' unless exists $args{q};
37             return $self->request(
38             method => 'GET',
39             path => '/search/' . $thing_to_search,
40             query => {
41             q => delete $args{q},
42             (exists $args{sort} ? (sort => delete $args{sort}) : ()),
43 3 50       34 (exists $args{order} ? (order => delete $args{order}) : ()),
    50          
44             },
45             %args,
46             );
47             }
48              
49             1;
50              
51             __END__