File Coverage

blib/lib/SignalWire/Agents/REST/Namespaces/Logs.pm
Criterion Covered Total %
statement 28 49 57.1
branch 0 10 0.0
condition n/a
subroutine 12 20 60.0
pod 0 8 0.0
total 40 87 45.9


line stmt bran cond sub pod time code
1             package SignalWire::Agents::REST::Namespaces::Logs;
2 4     4   28 use strict;
  4         10  
  4         175  
3 4     4   22 use warnings;
  4         9  
  4         257  
4 4     4   25 use Moo;
  4         7  
  4         35  
5              
6             # --- MessageLogs ---
7             package SignalWire::Agents::REST::Namespaces::Logs::Messages;
8 4     4   1685 use Moo;
  4         9  
  4         18  
9             extends 'SignalWire::Agents::REST::Namespaces::Base';
10              
11             sub list {
12 0     0 0 0 my ($self, %params) = @_;
13 0 0       0 my $p = %params ? \%params : undef;
14 0         0 return $self->_http->get($self->_base_path, params => $p);
15             }
16              
17             sub get {
18 0     0 0 0 my ($self, $log_id) = @_;
19 0         0 return $self->_http->get($self->_path($log_id));
20             }
21              
22             # --- VoiceLogs ---
23             package SignalWire::Agents::REST::Namespaces::Logs::Voice;
24 4     4   2235 use Moo;
  4         11  
  4         19  
25             extends 'SignalWire::Agents::REST::Namespaces::Base';
26              
27             sub list {
28 0     0 0 0 my ($self, %params) = @_;
29 0 0       0 my $p = %params ? \%params : undef;
30 0         0 return $self->_http->get($self->_base_path, params => $p);
31             }
32              
33             sub get {
34 0     0 0 0 my ($self, $log_id) = @_;
35 0         0 return $self->_http->get($self->_path($log_id));
36             }
37              
38             sub list_events {
39 0     0 0 0 my ($self, $log_id, %params) = @_;
40 0 0       0 my $p = %params ? \%params : undef;
41 0         0 return $self->_http->get($self->_path($log_id, 'events'), params => $p);
42             }
43              
44             # --- FaxLogs ---
45             package SignalWire::Agents::REST::Namespaces::Logs::Fax;
46 4     4   2504 use Moo;
  4         12  
  4         21  
47             extends 'SignalWire::Agents::REST::Namespaces::Base';
48              
49             sub list {
50 0     0 0 0 my ($self, %params) = @_;
51 0 0       0 my $p = %params ? \%params : undef;
52 0         0 return $self->_http->get($self->_base_path, params => $p);
53             }
54              
55             sub get {
56 0     0 0 0 my ($self, $log_id) = @_;
57 0         0 return $self->_http->get($self->_path($log_id));
58             }
59              
60             # --- ConferenceLogs ---
61             package SignalWire::Agents::REST::Namespaces::Logs::Conferences;
62 4     4   2296 use Moo;
  4         9  
  4         20  
63             extends 'SignalWire::Agents::REST::Namespaces::Base';
64              
65             sub list {
66 0     0 0 0 my ($self, %params) = @_;
67 0 0       0 my $p = %params ? \%params : undef;
68 0         0 return $self->_http->get($self->_base_path, params => $p);
69             }
70              
71             # --- LogsNamespace ---
72             package SignalWire::Agents::REST::Namespaces::Logs;
73 4     4   2130 use Moo;
  4         10  
  4         21  
74              
75             has '_http' => ( is => 'ro', required => 1 );
76             has 'messages' => ( is => 'lazy' );
77             has 'voice' => ( is => 'lazy' );
78             has 'fax' => ( is => 'lazy' );
79             has 'conferences' => ( is => 'lazy' );
80              
81 1     1   195 sub _build_messages { SignalWire::Agents::REST::Namespaces::Logs::Messages->new(_http => $_[0]->_http, _base_path => '/api/messaging/logs') }
82 2     2   8804 sub _build_voice { SignalWire::Agents::REST::Namespaces::Logs::Voice->new(_http => $_[0]->_http, _base_path => '/api/voice/logs') }
83 1     1   2840 sub _build_fax { SignalWire::Agents::REST::Namespaces::Logs::Fax->new(_http => $_[0]->_http, _base_path => '/api/fax/logs') }
84 1     1   2763 sub _build_conferences { SignalWire::Agents::REST::Namespaces::Logs::Conferences->new(_http => $_[0]->_http, _base_path => '/api/logs/conferences') }
85              
86             1;