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 16     16   10910 use Moo;
  16         11138  
  16         81  
6             our $VERSION = '0.01040';
7              
8 16     16   5608 use Carp qw( croak );
  16         39  
  16         861  
9 16     16   6540 use Pithub::Orgs::Members;
  16         59  
  16         400  
10 16     16   6458 use Pithub::Orgs::Teams;
  16         42  
  16         3851  
11             extends 'Pithub::Base';
12              
13              
14             sub get {
15 3     3 1 6514 my ( $self, %args ) = @_;
16 3 100       27 croak 'Missing key in parameters: org' unless $args{org};
17             return $self->request(
18             method => 'GET',
19 2         29 path => sprintf( '/orgs/%s', delete $args{org} ),
20             %args,
21             );
22             }
23              
24              
25             sub list {
26 6     6 1 6903 my ( $self, %args ) = @_;
27 6 100       20 if ( my $user = delete $args{user} ) {
28 2         19 return $self->request(
29             method => 'GET',
30             path => sprintf( '/users/%s/orgs', $user ),
31             %args,
32             );
33             }
34 4         14 return $self->request(
35             method => 'GET',
36             path => '/user/orgs',
37             %args,
38             );
39             }
40              
41              
42             sub members {
43 1     1 1 416 return shift->_create_instance('Pithub::Orgs::Members', @_);
44             }
45              
46              
47             sub teams {
48 1     1 1 1163 return shift->_create_instance('Pithub::Orgs::Teams', @_);
49             }
50              
51              
52             sub update {
53 6     6 1 4537 my ( $self, %args ) = @_;
54 6 100       25 croak 'Missing key in parameters: org' unless $args{org};
55 5 100       31 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__