File Coverage

blib/lib/RxPerl/Mojo.pm
Criterion Covered Total %
statement 37 38 97.3
branch 2 4 50.0
condition 1 3 33.3
subroutine 13 13 100.0
pod n/a
total 53 58 91.3


line stmt bran cond sub pod time code
1             package RxPerl::Mojo;
2 1     1   232622 use 5.010;
  1         4  
3 1     1   6 use strict;
  1         3  
  1         21  
4 1     1   5 use warnings;
  1         2  
  1         25  
5              
6 1     1   473 use parent 'RxPerl::Base';
  1         301  
  1         5  
7              
8 1     1   3104 use RxPerl ':all';
  1         30050  
  1         291  
9              
10 1     1   553 use Mojo::IOLoop;
  1         374557  
  1         7  
11 1     1   56 use Sub::Util 'set_subname';
  1         2  
  1         53  
12              
13 1     1   5 use Exporter 'import';
  1         2  
  1         296  
14             our @EXPORT_OK = @RxPerl::EXPORT_OK;
15             our %EXPORT_TAGS = %RxPerl::EXPORT_TAGS;
16              
17             our $VERSION = "v6.7.0";
18              
19             our $promise_class = 'Mojo::Promise';
20              
21             foreach my $func_name (@EXPORT_OK) {
22             set_subname __PACKAGE__."::$func_name", \&{$func_name};
23             }
24              
25             sub _timer {
26 1     1   6520 my ($after, $sub) = @_;
27              
28 1         2 my $id;
29             $id = Mojo::IOLoop->timer($after, sub {
30 1     1   100460 undef $id;
31 1         9 $sub->();
32 1         13 });
33              
34 1         128 return \$id;
35             }
36              
37             sub _cancel_timer {
38 1     1   200763 my ($id_ref) = @_;
39              
40 1 50 33     43 defined $id_ref and defined $$id_ref or return;
41              
42 0         0 Mojo::IOLoop->remove($$id_ref);
43             }
44              
45             sub _interval {
46 1     1   43 my ($after, $sub) = @_;
47              
48 1         14 my $id = Mojo::IOLoop->recurring($after, $sub);
49              
50 1         112 return $id;
51             }
52              
53             sub _cancel_interval {
54 1     1   9 my ($id) = @_;
55              
56 1 50       5 defined $id or return;
57              
58 1         10 Mojo::IOLoop->remove($id);
59             }
60              
61              
62              
63             1;
64             __END__