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              
4             # ABSTRACT: Github v3 Orgs API
5              
6 16     16   12285 use Moo;
  16         12852  
  16         92  
7             our $VERSION = '0.01041';
8              
9 16     16   6544 use Carp qw( croak );
  16         33  
  16         880  
10 16     16   7820 use Pithub::Orgs::Members ();
  16         50  
  16         397  
11 16     16   7617 use Pithub::Orgs::Teams ();
  16         45  
  16         4565  
12             extends 'Pithub::Base';
13              
14              
15             sub get {
16 3     3 1 8516 my ( $self, %args ) = @_;
17 3 100       37 croak 'Missing key in parameters: org' unless $args{org};
18             return $self->request(
19             method => 'GET',
20 2         38 path => sprintf( '/orgs/%s', delete $args{org} ),
21             %args,
22             );
23             }
24              
25              
26             sub list {
27 6     6 1 8476 my ( $self, %args ) = @_;
28 6 100       28 if ( my $user = delete $args{user} ) {
29 2         25 return $self->request(
30             method => 'GET',
31             path => sprintf( '/users/%s/orgs', $user ),
32             %args,
33             );
34             }
35 4         17 return $self->request(
36             method => 'GET',
37             path => '/user/orgs',
38             %args,
39             );
40             }
41              
42              
43             sub members {
44 1     1 1 503 return shift->_create_instance( Pithub::Orgs::Members::, @_ );
45             }
46              
47              
48             sub teams {
49 1     1 1 1452 return shift->_create_instance( Pithub::Orgs::Teams::, @_ );
50             }
51              
52              
53             sub update {
54 6     6 1 5453 my ( $self, %args ) = @_;
55 6 100       35 croak 'Missing key in parameters: org' unless $args{org};
56             croak 'Missing key in parameters: data (hashref)'
57 5 100       33 unless ref $args{data} eq 'HASH';
58             return $self->request(
59             method => 'PATCH',
60 3         31 path => sprintf( '/orgs/%s', delete $args{org} ),
61             %args,
62             );
63             }
64              
65             1;
66              
67             __END__