File Coverage

blib/lib/Require/HookChain/timestamp/hires.pm
Criterion Covered Total %
statement 3 8 37.5
branch 0 4 0.0
condition n/a
subroutine 1 3 33.3
pod 0 2 0.0
total 4 17 23.5


line stmt bran cond sub pod time code
1             ## no critic: TestingAndDebugging::RequireUseStrict
2             package Require::HookChain::timestamp::hires;
3              
4             # IFUNBUILT
5             # use strict;
6             # use warnings;
7             # END IFUNBUILT
8              
9 1     1   279825 use Time::HiRes qw(time);
  1         1776  
  1         7  
10              
11             our $AUTHORITY = 'cpan:PERLANCAR'; # AUTHORITY
12             our $DATE = '2023-12-05'; # DATE
13             our $DIST = 'Require-HookChain'; # DIST
14             our $VERSION = '0.016'; # VERSION
15              
16             our %Timestamps; # key=module name, value=epoch
17              
18             sub new {
19 0     0 0   my ($class) = @_;
20 0           bless {}, $class;
21             }
22              
23             sub Require::HookChain::timestamp::hires::INC {
24 0     0 0   my ($self, $r) = @_;
25              
26             # safety, in case we are not called by Require::HookChain
27 0 0         return () unless ref $r;
28              
29             $Timestamps{$r->filename} = time()
30 0 0         unless defined $Timestamps{$r->{filename}};
31             }
32              
33             1;
34             # ABSTRACT: Record timestamp of each module's loading (uses Time::HiRes)
35              
36             __END__