File Coverage

blib/lib/Pithub/Events.pm
Criterion Covered Total %
statement 36 36 100.0
branch 14 14 100.0
condition n/a
subroutine 10 10 100.0
pod 8 8 100.0
total 68 68 100.0


line stmt bran cond sub pod time code
1             package Pithub::Events;
2             our $AUTHORITY = 'cpan:PLU';
3             our $VERSION = '0.01040';
4             # ABSTRACT: Github v3 Events API
5              
6 16     16   885 use Moo;
  16         11622  
  16         95  
7 16     16   5012 use Carp qw( croak );
  16         31  
  16         8856  
8             extends 'Pithub::Base';
9              
10              
11             sub issue {
12 2     2 1 5980 my ( $self, %args ) = @_;
13 2         25 $self->_validate_user_repo_args( \%args );
14             return $self->request(
15             method => 'GET',
16 2         23 path => sprintf( '/repos/%s/%s/issues/events', delete $args{user}, delete $args{repo} ),
17             %args,
18             );
19             }
20              
21              
22             sub network {
23 2     2 1 2546 my ( $self, %args ) = @_;
24 2         12 $self->_validate_user_repo_args( \%args );
25             return $self->request(
26             method => 'GET',
27 2         18 path => sprintf( '/networks/%s/%s/events', delete $args{user}, delete $args{repo} ),
28             %args,
29             );
30             }
31              
32              
33             sub org {
34 3     3 1 3429 my ( $self, %args ) = @_;
35 3 100       19 croak 'Missing key in parameters: org' unless $args{org};
36             return $self->request(
37             method => 'GET',
38 2         20 path => sprintf( '/orgs/%s/events', delete $args{org} ),
39             %args,
40             );
41             }
42              
43              
44             sub org_for_user {
45 5     5 1 4104 my ( $self, %args ) = @_;
46 5 100       24 croak 'Missing key in parameters: org' unless $args{org};
47 4 100       16 croak 'Missing key in parameters: user' unless $args{user};
48             return $self->request(
49             method => 'GET',
50 3         30 path => sprintf( '/users/%s/events/orgs/%s', delete $args{user}, delete $args{org} ),
51             %args,
52             );
53             }
54              
55              
56             sub public {
57 2     2 1 2391 my ( $self, %args ) = @_;
58 2         18 return $self->request(
59             method => 'GET',
60             path => '/events',
61             %args,
62             );
63             }
64              
65              
66             sub repos {
67 2     2 1 2422 my ( $self, %args ) = @_;
68 2         11 $self->_validate_user_repo_args( \%args );
69             return $self->request(
70             method => 'GET',
71 2         20 path => sprintf( '/repos/%s/%s/events', delete $args{user}, delete $args{repo} ),
72             %args,
73             );
74             }
75              
76              
77             sub user_performed {
78 4     4 1 4492 my ( $self, %args ) = @_;
79 4 100       20 croak 'Missing key in parameters: user' unless $args{user};
80 3         14 my $path = sprintf( '/users/%s/events', delete $args{user} );
81 3 100       11 if ( $args{public} ) {
82 1         5 $path .= '/public';
83             }
84 3         15 return $self->request(
85             method => 'GET',
86             path => $path,
87             %args,
88             );
89             }
90              
91              
92             sub user_received {
93 4     4 1 3523 my ( $self, %args ) = @_;
94 4 100       51 croak 'Missing key in parameters: user' unless $args{user};
95 3         13 my $path = sprintf( '/users/%s/received_events', delete $args{user} );
96 3 100       11 if ( $args{public} ) {
97 1         2 $path .= '/public';
98             }
99 3         16 return $self->request(
100             method => 'GET',
101             path => $path,
102             %args,
103             );
104             }
105              
106             1;
107              
108             __END__