File Coverage

lib/Neo4j/Types/DateTime.pm
Criterion Covered Total %
statement 17 17 100.0
branch 8 8 100.0
condition 7 7 100.0
subroutine 5 5 100.0
pod 2 2 100.0
total 39 39 100.0


line stmt bran cond sub pod time code
1 3     3   892 use v5.10.1;
  3         9  
2 3     3   14 use strict;
  3         4  
  3         58  
3 3     3   11 use warnings;
  3         8  
  3         659  
4              
5             package Neo4j::Types::DateTime;
6             # ABSTRACT: Represents a Neo4j temporal instant value
7             $Neo4j::Types::DateTime::VERSION = '2.00';
8              
9             sub epoch {
10 18     18 1 65 my ($self) = @_;
11            
12 18   100     79 return ($self->days // 0) * 86400 + ($self->seconds // 0);
      100        
13             }
14              
15              
16             sub type {
17 18     18 1 70 my ($self) = @_;
18            
19 18 100       78 return 'DATE' unless defined $self->seconds;
20            
21 16 100       64 unless (defined $self->days) {
22 4 100       20 return 'LOCAL TIME' unless defined $self->tz_offset;
23 2         13 return 'ZONED TIME';
24             }
25            
26 12 100 100     53 return 'LOCAL DATETIME' unless defined $self->tz_offset || defined $self->tz_name;
27 10         53 return 'ZONED DATETIME';
28             }
29              
30             1;