|  line  | 
 stmt  | 
 bran  | 
 cond  | 
 sub  | 
 pod  | 
 time  | 
 code  | 
| 
1
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 package Pithub;  | 
| 
2
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 our $AUTHORITY = 'cpan:PLU';  | 
| 
3
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 # ABSTRACT: Github v3 API  | 
| 
4
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
    | 
| 
5
 | 
14
 | 
 
 | 
 
 | 
  
14
  
 | 
 
 | 
1428023
 | 
 use Moo;  | 
| 
 
 | 
14
 | 
 
 | 
 
 | 
 
 | 
 
 | 
45708
 | 
    | 
| 
 
 | 
14
 | 
 
 | 
 
 | 
 
 | 
 
 | 
88
 | 
    | 
| 
6
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
    | 
| 
7
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 our $VERSION = '0.01039';  | 
| 
8
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
    | 
| 
9
 | 
14
 | 
 
 | 
 
 | 
  
14
  
 | 
 
 | 
8153
 | 
 use Carp                 qw( croak );  | 
| 
 
 | 
14
 | 
 
 | 
 
 | 
 
 | 
 
 | 
28
 | 
    | 
| 
 
 | 
14
 | 
 
 | 
 
 | 
 
 | 
 
 | 
578
 | 
    | 
| 
10
 | 
14
 | 
 
 | 
 
 | 
  
14
  
 | 
 
 | 
6022
 | 
 use Pithub::Events       ();  | 
| 
 
 | 
14
 | 
 
 | 
 
 | 
 
 | 
 
 | 
44
 | 
    | 
| 
 
 | 
14
 | 
 
 | 
 
 | 
 
 | 
 
 | 
452
 | 
    | 
| 
11
 | 
14
 | 
 
 | 
 
 | 
  
14
  
 | 
 
 | 
7429
 | 
 use Pithub::Gists        ();  | 
| 
 
 | 
14
 | 
 
 | 
 
 | 
 
 | 
 
 | 
41
 | 
    | 
| 
 
 | 
14
 | 
 
 | 
 
 | 
 
 | 
 
 | 
319
 | 
    | 
| 
12
 | 
14
 | 
 
 | 
 
 | 
  
14
  
 | 
 
 | 
5406
 | 
 use Pithub::GitData      ();  | 
| 
 
 | 
14
 | 
 
 | 
 
 | 
 
 | 
 
 | 
36
 | 
    | 
| 
 
 | 
14
 | 
 
 | 
 
 | 
 
 | 
 
 | 
283
 | 
    | 
| 
13
 | 
14
 | 
 
 | 
 
 | 
  
14
  
 | 
 
 | 
5713
 | 
 use Pithub::Issues       ();  | 
| 
 
 | 
14
 | 
 
 | 
 
 | 
 
 | 
 
 | 
48
 | 
    | 
| 
 
 | 
14
 | 
 
 | 
 
 | 
 
 | 
 
 | 
316
 | 
    | 
| 
14
 | 
14
 | 
 
 | 
 
 | 
  
14
  
 | 
 
 | 
5085
 | 
 use Pithub::Orgs         ();  | 
| 
 
 | 
14
 | 
 
 | 
 
 | 
 
 | 
 
 | 
54
 | 
    | 
| 
 
 | 
14
 | 
 
 | 
 
 | 
 
 | 
 
 | 
305
 | 
    | 
| 
15
 | 
14
 | 
 
 | 
 
 | 
  
14
  
 | 
 
 | 
5799
 | 
 use Pithub::PullRequests ();  | 
| 
 
 | 
14
 | 
 
 | 
 
 | 
 
 | 
 
 | 
43
 | 
    | 
| 
 
 | 
14
 | 
 
 | 
 
 | 
 
 | 
 
 | 
304
 | 
    | 
| 
16
 | 
14
 | 
 
 | 
 
 | 
  
14
  
 | 
 
 | 
5784
 | 
 use Pithub::Repos        ();  | 
| 
 
 | 
14
 | 
 
 | 
 
 | 
 
 | 
 
 | 
42
 | 
    | 
| 
 
 | 
14
 | 
 
 | 
 
 | 
 
 | 
 
 | 
361
 | 
    | 
| 
17
 | 
14
 | 
 
 | 
 
 | 
  
14
  
 | 
 
 | 
5877
 | 
 use Pithub::Search       ();  | 
| 
 
 | 
14
 | 
 
 | 
 
 | 
 
 | 
 
 | 
36
 | 
    | 
| 
 
 | 
14
 | 
 
 | 
 
 | 
 
 | 
 
 | 
290
 | 
    | 
| 
18
 | 
14
 | 
 
 | 
 
 | 
  
14
  
 | 
 
 | 
4933
 | 
 use Pithub::SearchV3     ();  | 
| 
 
 | 
14
 | 
 
 | 
 
 | 
 
 | 
 
 | 
37
 | 
    | 
| 
 
 | 
14
 | 
 
 | 
 
 | 
 
 | 
 
 | 
274
 | 
    | 
| 
19
 | 
14
 | 
 
 | 
 
 | 
  
14
  
 | 
 
 | 
5065
 | 
 use Pithub::Users        ();  | 
| 
 
 | 
14
 | 
 
 | 
 
 | 
 
 | 
 
 | 
38
 | 
    | 
| 
 
 | 
14
 | 
 
 | 
 
 | 
 
 | 
 
 | 
5446
 | 
    | 
| 
20
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
    | 
| 
21
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 extends 'Pithub::Base';  | 
| 
22
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
    | 
| 
23
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
    | 
| 
24
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 sub _validate_search_api {  | 
| 
25
 | 
86
 | 
 
 | 
 
 | 
  
86
  
 | 
 
 | 
8430
 | 
     my %search_apis = map { $_ => 1 } qw(legacy v3);  | 
| 
 
 | 
172
 | 
 
 | 
 
 | 
 
 | 
 
 | 
559
 | 
    | 
| 
26
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
     croak "unknown search api '$_[0]'"  | 
| 
27
 | 
86
 | 
  
 50
  
 | 
 
 | 
 
 | 
 
 | 
1445
 | 
         unless exists $search_apis{$_[0]};  | 
| 
28
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 }  | 
| 
29
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
    | 
| 
30
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
    | 
| 
31
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 has search_api => (  | 
| 
32
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
     is  => 'ro',  | 
| 
33
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
     isa => \&_validate_search_api,  | 
| 
34
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
     default => 'legacy',  | 
| 
35
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 );  | 
| 
36
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
    | 
| 
37
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 sub _search_class {  | 
| 
38
 | 
3
 | 
 
 | 
 
 | 
  
3
  
 | 
 
 | 
13
 | 
     my ($self, $search_api) = @_;  | 
| 
39
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
    | 
| 
40
 | 
3
 | 
 
 | 
 
 | 
 
 | 
 
 | 
16
 | 
     _validate_search_api($search_api);  | 
| 
41
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
    | 
| 
42
 | 
3
 | 
  
100
  
 | 
 
 | 
 
 | 
 
 | 
16
 | 
     return $search_api eq 'legacy'  | 
| 
43
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
         ? Pithub::Search::  | 
| 
44
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
         : Pithub::SearchV3::;  | 
| 
45
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 }  | 
| 
46
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
    | 
| 
47
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
    | 
| 
48
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 sub events {  | 
| 
49
 | 
3
 | 
 
 | 
 
 | 
  
3
  
 | 
  
1
  
 | 
9089
 | 
     return shift->_create_instance(Pithub::Events::, @_);  | 
| 
50
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 }  | 
| 
51
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
    | 
| 
52
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
    | 
| 
53
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 sub gists {  | 
| 
54
 | 
3
 | 
 
 | 
 
 | 
  
3
  
 | 
  
1
  
 | 
5339
 | 
     return shift->_create_instance(Pithub::Gists::, @_);  | 
| 
55
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 }  | 
| 
56
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
    | 
| 
57
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
    | 
| 
58
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 sub git_data {  | 
| 
59
 | 
3
 | 
 
 | 
 
 | 
  
3
  
 | 
  
1
  
 | 
13904
 | 
     return shift->_create_instance(Pithub::GitData::, @_);  | 
| 
60
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 }  | 
| 
61
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
    | 
| 
62
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
    | 
| 
63
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 sub issues {  | 
| 
64
 | 
4
 | 
 
 | 
 
 | 
  
4
  
 | 
  
1
  
 | 
24187
 | 
     return shift->_create_instance(Pithub::Issues::, @_);  | 
| 
65
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 }  | 
| 
66
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
    | 
| 
67
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
    | 
| 
68
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 sub markdown {  | 
| 
69
 | 
1
 | 
 
 | 
 
 | 
  
1
  
 | 
  
1
  
 | 
1569
 | 
     return shift->_create_instance(Pithub::Markdown::, @_);  | 
| 
70
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 }  | 
| 
71
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
    | 
| 
72
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
    | 
| 
73
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 sub orgs {  | 
| 
74
 | 
3
 | 
 
 | 
 
 | 
  
3
  
 | 
  
1
  
 | 
27286
 | 
     return shift->_create_instance(Pithub::Orgs::, @_);  | 
| 
75
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 }  | 
| 
76
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
    | 
| 
77
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
    | 
| 
78
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 sub pull_requests {  | 
| 
79
 | 
9
 | 
 
 | 
 
 | 
  
9
  
 | 
  
1
  
 | 
13095
 | 
     return shift->_create_instance(Pithub::PullRequests::, @_);  | 
| 
80
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 }  | 
| 
81
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
    | 
| 
82
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
    | 
| 
83
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 sub repos {  | 
| 
84
 | 
62
 | 
 
 | 
 
 | 
  
62
  
 | 
  
1
  
 | 
12381
 | 
     return shift->_create_instance(Pithub::Repos::, @_);  | 
| 
85
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 }  | 
| 
86
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
    | 
| 
87
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
    | 
| 
88
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 sub search {  | 
| 
89
 | 
3
 | 
 
 | 
 
 | 
  
3
  
 | 
  
1
  
 | 
4621
 | 
     my ($self, %args) = @_;  | 
| 
90
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
     my $class = $self->_search_class(  | 
| 
91
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
         exists $args{search_api}  | 
| 
92
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
             ? delete $args{search_api}  | 
| 
93
 | 
3
 | 
  
100
  
 | 
 
 | 
 
 | 
 
 | 
29
 | 
             : $self->search_api,  | 
| 
94
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
     );  | 
| 
95
 | 
3
 | 
 
 | 
 
 | 
 
 | 
 
 | 
20
 | 
     return shift->_create_instance($class, @_);  | 
| 
96
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 }  | 
| 
97
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
    | 
| 
98
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
    | 
| 
99
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 sub users {  | 
| 
100
 | 
14
 | 
 
 | 
 
 | 
  
14
  
 | 
  
1
  
 | 
38382
 | 
     return shift->_create_instance(Pithub::Users::, @_);  | 
| 
101
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 }  | 
| 
102
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
    | 
| 
103
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
    | 
| 
104
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 1;  | 
| 
105
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
    | 
| 
106
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 __END__  |