File Coverage

blib/lib/Argon/Task.pm
Criterion Covered Total %
statement 19 19 100.0
branch n/a
condition n/a
subroutine 6 6 100.0
pod 0 2 0.0
total 25 27 92.5


line stmt bran cond sub pod time code
1             package Argon::Task;
2             # ABSTRACT: Base interface for Argon-runnable tasks
3             $Argon::Task::VERSION = '0.18';
4 1     1   193687 use strict;
  1         9  
  1         30  
5 1     1   5 use warnings;
  1         2  
  1         24  
6 1     1   324 use Argon;
  1         2  
  1         90  
7              
8             sub new {
9 1     1 0 84 my ($class, $code, $args) = @_;
10 1         7 bless [$code, $args], $class;
11             }
12              
13             sub run {
14 2     2 0 522 Argon::ASSERT_EVAL_ALLOWED;
15 1         4 my $self = shift;
16 1         5 my ($str_code, $args) = @$self;
17 1     1   7 my $code = eval "do { $str_code };";
  1         2  
  1         93  
  1         89  
18 1         31 $code->(@$args);
19             }
20              
21             1;
22              
23             __END__
24              
25             =pod
26              
27             =encoding UTF-8
28              
29             =head1 NAME
30              
31             Argon::Task - Base interface for Argon-runnable tasks
32              
33             =head1 VERSION
34              
35             version 0.18
36              
37             =head1 AUTHOR
38              
39             Jeff Ober <sysread@fastmail.fm>
40              
41             =head1 COPYRIGHT AND LICENSE
42              
43             This software is copyright (c) 2017 by Jeff Ober.
44              
45             This is free software; you can redistribute it and/or modify it under
46             the same terms as the Perl 5 programming language system itself.
47              
48             =cut