File Coverage

blib/lib/OpenTracing/Role/ContextReference.pm
Criterion Covered Total %
statement 29 29 100.0
branch n/a
condition n/a
subroutine 13 13 100.0
pod 4 4 100.0
total 46 46 100.0


line stmt bran cond sub pod time code
1             package OpenTracing::Role::ContextReference;
2              
3             our $VERSION = 'v0.86.0';
4              
5 3     3   451566 use Moo::Role;
  3         16846  
  3         19  
6 3     3   2573 use MooX::Enumeration;
  3         7356  
  3         14  
7 3     3   1753 use MooX::ProtectedAttributes;
  3         2187  
  3         17  
8 3     3   1517 use MooX::Should;
  3         14291  
  3         22  
9              
10 3     3   1641 use OpenTracing::Types qw/SpanContext/;
  3         148412  
  3         21  
11 3     3   2941 use Types::Standard qw/Enum/;
  3         152423  
  3         26  
12              
13 3     3   7575 use constant CHILD_OF => 'child_of';
  3         8  
  3         245  
14 3     3   20 use constant FOLLOWS_FROM => 'follows_from';
  3         12  
  3         578  
15              
16             protected_has reference_type => (
17             is => 'ro',
18             should => Enum[ CHILD_OF, FOLLOWS_FROM ],
19             );
20              
21             has referenced_context => (
22             is => 'ro',
23             should => SpanContext,
24             required => 1,
25             reader => 'get_referenced_context',
26             );
27              
28             sub new_child_of {
29 1     1 1 1684 $_[0]->new(
30             reference_type => CHILD_OF,
31             referenced_context => $_[1],
32             )
33             }
34              
35 1     1 1 2938 sub type_is_child_of { $_[0]->reference_type eq CHILD_OF }
36              
37             sub new_follows_from {
38 1     1 1 3707 $_[0]->new(
39             reference_type => FOLLOWS_FROM,
40             referenced_context => $_[1],
41             )
42             }
43              
44 1     1 1 944 sub type_is_follows_from { $_[0]->reference_type eq FOLLOWS_FROM }
45              
46              
47              
48             BEGIN {
49 3     3   19 with 'OpenTracing::Interface::ContextReference'
50             }
51              
52              
53              
54             1;