File Coverage

blib/lib/Method/Cascade.pm
Criterion Covered Total %
statement 16 16 100.0
branch n/a
condition n/a
subroutine 5 5 100.0
pod 0 1 0.0
total 21 22 95.4


line stmt bran cond sub pod time code
1             package Method::Cascade;
2              
3 1     1   27527 use strict;
  1         2  
  1         90  
4              
5             our $VERSION = '0.101';
6              
7             require Exporter;
8 1     1   5 use base 'Exporter';
  1         1  
  1         145  
9             our @EXPORT = qw(cascade);
10              
11              
12             sub cascade {
13 3     3 0 23 my $wrapped = shift;
14 3         30 return bless { w => $wrapped, }, 'Method::Cascade::Wrapper';
15             }
16              
17              
18             package Method::Cascade::Wrapper;
19              
20 1     1   4 use strict;
  1         16  
  1         101  
21              
22             our $AUTOLOAD;
23              
24             sub AUTOLOAD {
25 6     6   9 my $self = shift;
26              
27 6         11 my $method = $AUTOLOAD;
28 6         24 $method =~ s/.*://;
29              
30 6         26 $self->{w}->$method(@_);
31              
32 6         38 return $self;
33             }
34              
35             1;
36              
37              
38             __END__