File Coverage

blib/lib/Pithub/Orgs.pm
Criterion Covered Total %
statement 25 25 100.0
branch 8 8 100.0
condition n/a
subroutine 9 9 100.0
pod 5 5 100.0
total 47 47 100.0


line stmt bran cond sub pod time code
1             package Pithub::Orgs;
2             our $AUTHORITY = 'cpan:PLU';
3             # ABSTRACT: Github v3 Orgs API
4              
5 15     15   9880 use Moo;
  15         10301  
  15         74  
6             our $VERSION = '0.01039';
7              
8 15     15   5221 use Carp qw( croak );
  15         28  
  15         838  
9 15     15   5838 use Pithub::Orgs::Members;
  15         44  
  15         377  
10 15     15   5918 use Pithub::Orgs::Teams;
  15         39  
  15         3525  
11             extends 'Pithub::Base';
12              
13              
14             sub get {
15 3     3 1 7268 my ( $self, %args ) = @_;
16 3 100       24 croak 'Missing key in parameters: org' unless $args{org};
17             return $self->request(
18             method => 'GET',
19 2         35 path => sprintf( '/orgs/%s', delete $args{org} ),
20             %args,
21             );
22             }
23              
24              
25             sub list {
26 6     6 1 6270 my ( $self, %args ) = @_;
27 6 100       20 if ( my $user = delete $args{user} ) {
28 2         20 return $self->request(
29             method => 'GET',
30             path => sprintf( '/users/%s/orgs', $user ),
31             %args,
32             );
33             }
34 4         13 return $self->request(
35             method => 'GET',
36             path => '/user/orgs',
37             %args,
38             );
39             }
40              
41              
42             sub members {
43 1     1 1 503 return shift->_create_instance('Pithub::Orgs::Members', @_);
44             }
45              
46              
47             sub teams {
48 1     1 1 1510 return shift->_create_instance('Pithub::Orgs::Teams', @_);
49             }
50              
51              
52             sub update {
53 6     6 1 4652 my ( $self, %args ) = @_;
54 6 100       27 croak 'Missing key in parameters: org' unless $args{org};
55 5 100       28 croak 'Missing key in parameters: data (hashref)' unless ref $args{data} eq 'HASH';
56             return $self->request(
57             method => 'PATCH',
58 3         25 path => sprintf( '/orgs/%s', delete $args{org} ),
59             %args,
60             );
61             }
62              
63             1;
64              
65             __END__