File Coverage

blib/lib/Module/New/Recipe.pm
Criterion Covered Total %
statement 31 32 96.8
branch n/a
condition n/a
subroutine 11 12 91.6
pod n/a
total 42 44 95.4


line stmt bran cond sub pod time code
1             package Module::New::Recipe;
2            
3 3     3   2441 use strict;
  3         4  
  3         76  
4 3     3   12 use warnings;
  3         3  
  3         61  
5 3     3   10 use Carp;
  3         3  
  3         145  
6 3     3   593 use Module::New::Meta;
  3         9  
  3         19  
7 3     3   1183 use Module::New::Queue;
  3         4  
  3         785  
8            
9             my @options;
10            
11             functions {
12             flow => sub (&) {
13 22     22   127 my $flow = shift;
14             Module::New::Queue->register(sub {
15 11     11   18 my ($self, @args) = @_;
16             Module::New::Queue->localize(sub {
17 11         26 $flow->();
18 11         35 Module::New::Queue->consume( $self, @args );
19             })
20 11         59 })
21 22         146 },
22            
23             loop => sub (&) {
24 4     4   6 my $loop = shift;
25             Module::New::Queue->register(sub {
26 4     4   10 my ($self, @args) = @_;
27             Module::New::Queue->localize(sub {
28 4         11 $loop->();
29 4         11 foreach my $arg ( @args ) {
30 4         13 Module::New::Queue->consume( $self, $arg );
31             }
32 4         31 });
33 4         23 });
34             },
35            
36 18     18   74 available_options => sub (@) { @options = @_ },
37             };
38            
39             methods {
40 0     0   0 options => sub { @options },
41            
42             run => sub {
43 11     11   107 my ($self, @args) = @_;
44 11         42 Module::New::Queue->consume( $self, @args );
45             }
46             };
47            
48             1;
49            
50             __END__