File Coverage

blib/lib/Pithub/Orgs/Members.pm
Criterion Covered Total %
statement 32 32 100.0
branch 24 24 100.0
condition n/a
subroutine 9 9 100.0
pod 7 7 100.0
total 72 72 100.0


line stmt bran cond sub pod time code
1             package Pithub::Orgs::Members;
2             our $AUTHORITY = 'cpan:PLU';
3             our $VERSION = '0.01041';
4              
5             # ABSTRACT: Github v3 Org Members API
6              
7 16     16   124 use Moo;
  16         43  
  16         96  
8 16     16   4818 use Carp qw( croak );
  16         35  
  16         10065  
9             extends 'Pithub::Base';
10              
11              
12             sub conceal {
13 5     5 1 10403 my ( $self, %args ) = @_;
14 5 100       31 croak 'Missing key in parameters: org' unless $args{org};
15 4 100       20 croak 'Missing key in parameters: user' unless $args{user};
16             return $self->request(
17             method => 'DELETE',
18             path => sprintf(
19             '/orgs/%s/public_members/%s', delete $args{org},
20             delete $args{user}
21 3         41 ),
22             %args,
23             );
24             }
25              
26              
27             sub delete {
28 5     5 1 4677 my ( $self, %args ) = @_;
29 5 100       47 croak 'Missing key in parameters: org' unless $args{org};
30 4 100       26 croak 'Missing key in parameters: user' unless $args{user};
31             return $self->request(
32             method => 'DELETE',
33             path => sprintf(
34             '/orgs/%s/members/%s', delete $args{org}, delete $args{user}
35 3         30 ),
36             %args,
37             );
38             }
39              
40              
41             sub is_member {
42 5     5 1 3997 my ( $self, %args ) = @_;
43 5 100       30 croak 'Missing key in parameters: org' unless $args{org};
44 4 100       21 croak 'Missing key in parameters: user' unless $args{user};
45             return $self->request(
46             method => 'GET',
47             path => sprintf(
48             '/orgs/%s/members/%s', delete $args{org}, delete $args{user}
49 3         31 ),
50             %args,
51             );
52             }
53              
54              
55             sub is_public {
56 4     4 1 3173 my ( $self, %args ) = @_;
57 4 100       34 croak 'Missing key in parameters: org' unless $args{org};
58 3 100       19 croak 'Missing key in parameters: user' unless $args{user};
59             return $self->request(
60             method => 'GET',
61             path => sprintf(
62             '/orgs/%s/public_members/%s', delete $args{org},
63             delete $args{user}
64 2         28 ),
65             %args,
66             );
67             }
68              
69              
70             sub list {
71 3     3 1 2187 my ( $self, %args ) = @_;
72 3 100       25 croak 'Missing key in parameters: org' unless $args{org};
73             return $self->request(
74             method => 'GET',
75 2         22 path => sprintf( '/orgs/%s/members', delete $args{org} ),
76             %args,
77             );
78             }
79              
80              
81             sub list_public {
82 3     3 1 2136 my ( $self, %args ) = @_;
83 3 100       21 croak 'Missing key in parameters: org' unless $args{org};
84             return $self->request(
85             method => 'GET',
86 2         26 path => sprintf( '/orgs/%s/public_members', delete $args{org} ),
87             %args,
88             );
89             }
90              
91              
92             sub publicize {
93 5     5 1 4040 my ( $self, %args ) = @_;
94 5 100       27 croak 'Missing key in parameters: org' unless $args{org};
95 4 100       33 croak 'Missing key in parameters: user' unless $args{user};
96             return $self->request(
97             method => 'PUT',
98             path => sprintf(
99             '/orgs/%s/public_members/%s', delete $args{org},
100             delete $args{user}
101 3         32 ),
102             %args,
103             );
104             }
105              
106             1;
107              
108             __END__