| 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__ |