File Coverage

lib/Neo4j/Driver/ResultSummary.pm
Criterion Covered Total %
statement 29 29 100.0
branch 2 2 100.0
condition 8 8 100.0
subroutine 11 11 100.0
pod 5 7 100.0
total 55 57 100.0


line stmt bran cond sub pod time code
1 20     20   224 use v5.12;
  20         92  
2 20     20   109 use warnings;
  20         28  
  20         1433  
3              
4             package Neo4j::Driver::ResultSummary 1.02;
5             # ABSTRACT: Details about the result of running a query
6              
7              
8 20     20   105 use Carp qw(croak);
  20         30  
  20         961  
9              
10 20     20   7811 use Neo4j::Driver::SummaryCounters;
  20         53  
  20         7728  
11              
12              
13             sub new {
14             # uncoverable pod (private method)
15 139     139 0 472 my ($class, $result, $notifications, $query, $server_info) = @_;
16            
17             return bless {
18             counters => $result->{stats},
19             notifications => $notifications,
20             plan => $result->{plan},
21 139         1358 query => $query,
22             server_info => $server_info,
23             }, $class;
24             }
25              
26              
27             sub counters {
28 7     7 1 1585 my ($self) = @_;
29            
30 7   100     39 $self->{counters} //= {};
31 7         60 return Neo4j::Driver::SummaryCounters->new( $self->{counters} );
32             }
33              
34              
35             sub notifications {
36 8     8 1 6880 my ($self) = @_;
37            
38 8   100     36 $self->{notifications} //= [];
39 8         14 return @{ $self->{notifications} };
  8         51  
40             }
41              
42              
43             sub plan {
44 2     2 1 44 my ($self) = @_;
45            
46 2         13 return $self->{plan};
47             }
48              
49              
50             sub statement {
51             # uncoverable pod (see query)
52 1     1 0 79 warnings::warnif deprecated => "statement() in Neo4j::Driver::ResultSummary is deprecated; use query() instead";
53 1         412 &query;
54             }
55              
56              
57             sub query {
58 8     8 1 1927 my ($self) = @_;
59            
60 8   100     49 $self->{query} //= [ '', {} ];
61             return ref $self->{query} eq 'ARRAY' ? {
62             text => $self->{query}->[0],
63             parameters => $self->{query}->[1],
64             } : {
65             text => $self->{query}->{statement},
66             parameters => $self->{query}->{parameters} // {},
67 8 100 100     130 };
68             }
69              
70              
71             sub server {
72 5     5 1 3581 my ($self) = @_;
73            
74 5         44 return $self->{server_info};
75             }
76              
77              
78             1;
79              
80             __END__