File Coverage

blib/lib/RxPerl/Utils.pm
Criterion Covered Total %
statement 23 27 85.1
branch n/a
condition n/a
subroutine 7 9 77.7
pod 0 4 0.0
total 30 40 75.0


line stmt bran cond sub pod time code
1             package RxPerl::Utils;
2 5     5   26 use strict;
  5         15  
  5         110  
3 5     5   22 use warnings;
  5         8  
  5         100  
4              
5 5     5   20 use Exporter 'import';
  5         7  
  5         820  
6             our @EXPORT_OK = qw/
7             immortalize decapitate
8             get_timer_subs get_interval_subs
9             /;
10              
11             our $VERSION = "v6.27.1";
12              
13             my %KEEP_ALIVE;
14              
15             sub immortalize {
16 0     0 0 0 my ($var) = @_;
17              
18 0         0 $KEEP_ALIVE{$var} = $var;
19             }
20              
21             sub decapitate {
22 0     0 0 0 my ($var) = @_;
23              
24 0         0 delete $KEEP_ALIVE{$var};
25             }
26              
27             sub get_timer_subs {
28 765     765 0 4406 my $package = ((caller(1))[3] =~ /^(.+)\:\:/)[0];
29 765         2832 my ($fn1, $fn2) = map "${package}::$_", '_timer', '_cancel_timer';
30 5     5   31 no strict 'refs';
  5         6  
  5         565  
31 765         1171 return map \&{ $_ }, $fn1, $fn2;
  1530         3892  
32             }
33              
34             sub get_interval_subs {
35 155     155 0 1026 my $package = ((caller(1))[3] =~ /^(.+)\:\:/)[0];
36 155         624 my ($fn1, $fn2) = map "${package}::$_", '_interval', '_cancel_interval';
37 5     5   30 no strict 'refs';
  5         13  
  5         315  
38 155         238 return map \&{ $_ }, $fn1, $fn2;
  310         835  
39             }
40              
41             1;