File Coverage

blib/lib/OpenSearch/Response.pm
Criterion Covered Total %
statement 18 28 64.2
branch 0 2 0.0
condition 0 9 0.0
subroutine 6 7 85.7
pod 0 1 0.0
total 24 47 51.0


line stmt bran cond sub pod time code
1             package OpenSearch::Response;
2 4     4   28 use strict;
  4         7  
  4         178  
3 4     4   24 use warnings;
  4         6  
  4         268  
4 4     4   21 use Moo;
  4         7  
  4         34  
5 4     4   1717 use Types::Standard qw(Str Bool Int);
  4         8  
  4         78  
6 4     4   8002 use feature qw(signatures);
  4         9  
  4         698  
7 4     4   27 no warnings qw(experimental::signatures);
  4         8  
  4         1249  
8              
9             has '_response' => ( is => 'rw', required => 1 );
10             has 'success' => ( is => 'rw', isa => Bool, required => 0 );
11             has 'message' => ( is => 'rw', isa => Str, required => 0 );
12             has 'error' => ( is => 'rw', required => 0 );
13             has 'code' => ( is => 'rw', isa => Int, required => 0 );
14             has 'data' => ( is => 'rw', required => 0 );
15              
16 0     0 0   sub BUILD( $self, @rest ) {
  0            
  0            
  0            
17 0   0       $self->success( $self->_response->code >= 200 && $self->_response->code < 300 );
18              
19 0           $self->code( $self->_response->code );
20 0           $self->message( $self->_response->message );
21 0           $self->data( $self->_response->json );
22              
23 0 0 0       if ( !$self->success && ( $self->data && $self->data->{error} ) ) {
      0        
24 0           $self->error( $self->data->{error} );
25             }
26              
27             }
28              
29             1;