File Coverage

lib/Neo4j/Driver/Type/Relationship.pm
Criterion Covered Total %
statement 35 35 100.0
branch 6 6 100.0
condition n/a
subroutine 12 12 100.0
pod 9 9 100.0
total 62 62 100.0


line stmt bran cond sub pod time code
1 20     20   340 use v5.12;
  20         360  
2 20     20   133 use warnings;
  20         72  
  20         1664  
3              
4             package Neo4j::Driver::Type::Relationship 1.02;
5             # ABSTRACT: Describes a relationship from a Neo4j graph
6              
7              
8             # For documentation, see Neo4j::Driver::Types.
9              
10             # Jolt relationship: [ rel_id, start_node_id, rel_type, end_node_id, {properties} ]
11              
12              
13 20     20   157 use parent 'Neo4j::Types::Relationship';
  20         348  
  20         466  
14              
15              
16             sub get {
17 3     3 1 14 my ($self, $property) = @_;
18            
19 3         20 return $self->[4]->{$property};
20             }
21              
22              
23             sub type {
24 9     9 1 10663 my ($self) = @_;
25            
26 9         73 return $self->[2];
27             }
28              
29              
30             sub start_element_id {
31 5     5 1 5371 my ($self) = @_;
32            
33 5         29 return $self->[1];
34             }
35              
36              
37             sub start_id {
38 5     5 1 6102 my ($self) = @_;
39            
40 5         121 warnings::warnif deprecated => "Relationship->start_id() is deprecated since Neo4j 5; use start_element_id()";
41 5         2164 my ($id) = $self->[1] =~ m/^4:[^:]*:([0-9]+)/;
42 5 100       27 $id = 0 + $id if defined $id;
43 5         19 return $id;
44             }
45              
46              
47             sub end_element_id {
48 5     5 1 5755 my ($self) = @_;
49            
50 5         29 return $self->[3];
51             }
52              
53              
54             sub end_id {
55 5     5 1 5583 my ($self) = @_;
56            
57 5         127 warnings::warnif deprecated => "Relationship->end_id() is deprecated since Neo4j 5; use end_element_id()";
58 5         2056 my ($id) = $self->[3] =~ m/^4:[^:]*:([0-9]+)/;
59 5 100       25 $id = 0 + $id if defined $id;
60 5         20 return $id;
61             }
62              
63              
64             sub properties {
65 9     9 1 9451 my ($self) = @_;
66            
67 9         136 return $self->[4];
68             }
69              
70              
71             sub element_id {
72 5     5 1 5528 my ($self) = @_;
73            
74 5         30 return $self->[0];
75             }
76              
77              
78             sub id {
79 5     5 1 6016 my ($self) = @_;
80            
81 5         125 warnings::warnif deprecated => "Relationship->id() is deprecated since Neo4j 5; use element_id()";
82 5         2292 my ($id) = $self->[0] =~ m/^5:[^:]*:([0-9]+)/;
83 5 100       26 $id = 0 + $id if defined $id;
84 5         20 return $id;
85             }
86             # see Node.pm for background on legacy ID parsing
87              
88              
89             1;