File Coverage

blib/lib/SignalWire/Agents/REST/Namespaces/Project.pm
Criterion Covered Total %
statement 17 23 73.9
branch n/a
condition n/a
subroutine 6 9 66.6
pod 0 3 0.0
total 23 35 65.7


line stmt bran cond sub pod time code
1             package SignalWire::Agents::REST::Namespaces::Project;
2 4     4   29 use strict;
  4         10  
  4         206  
3 4     4   24 use warnings;
  4         9  
  4         274  
4 4     4   26 use Moo;
  4         7  
  4         28  
5              
6             # --- ProjectTokens ---
7             package SignalWire::Agents::REST::Namespaces::Project::Tokens;
8 4     4   1765 use Moo;
  4         9  
  4         19  
9             extends 'SignalWire::Agents::REST::Namespaces::Base';
10              
11             sub create {
12 0     0 0 0 my ($self, %kwargs) = @_;
13 0         0 return $self->_http->post($self->_base_path, body => \%kwargs);
14             }
15              
16             sub update {
17 0     0 0 0 my ($self, $token_id, %kwargs) = @_;
18 0         0 return $self->_http->patch($self->_path($token_id), body => \%kwargs);
19             }
20              
21             sub delete_token {
22 0     0 0 0 my ($self, $token_id) = @_;
23 0         0 return $self->_http->delete_request($self->_path($token_id));
24             }
25              
26             # --- ProjectNamespace ---
27             package SignalWire::Agents::REST::Namespaces::Project;
28 4     4   2467 use Moo;
  4         10  
  4         18  
29              
30             has '_http' => ( is => 'ro', required => 1 );
31             has 'tokens' => ( is => 'lazy' );
32              
33             sub _build_tokens {
34 2     2   4658 my ($self) = @_;
35 2         71 return SignalWire::Agents::REST::Namespaces::Project::Tokens->new(
36             _http => $self->_http,
37             _base_path => '/api/project/tokens',
38             );
39             }
40              
41             1;