File Coverage

blib/lib/AnyEvent/Beanstalk/Stats.pm
Criterion Covered Total %
statement 12 29 41.3
branch 0 4 0.0
condition 0 12 0.0
subroutine 4 8 50.0
pod 0 1 0.0
total 16 54 29.6


line stmt bran cond sub pod time code
1             package AnyEvent::Beanstalk::Stats;
2             {
3             $AnyEvent::Beanstalk::Stats::VERSION = '1.123530';
4             }
5              
6 5     5   28 use strict;
  5         1547  
  5         198  
7 5     5   87 use warnings;
  5         8  
  5         150  
8              
9 5     5   24 use Carp ();
  5         11  
  5         1158  
10              
11             our $AUTOLOAD;
12              
13             sub new {
14 0     0 0   my $proto = shift;
15 0           my $href = shift;
16 0           bless $href, $proto;
17             }
18              
19 0     0     sub DESTROY { }
20              
21             sub AUTOLOAD {
22 0     0     (my $method = $AUTOLOAD) =~ s/.*:://;
23 0           (my $field = $method) =~ tr/_/-/;
24              
25 0 0 0       unless (ref($_[0]) and exists $_[0]->{$field}) {
26 0   0       my $proto = ref($_[0]) || $_[0];
27 0           Carp::croak(qq{Can't locate object method "$method" via package "$proto"});
28             }
29 5     5   31 no strict 'refs';
  5         16  
  5         836  
30 0           *{$AUTOLOAD} = sub {
31 0     0     my $self = shift;
32 0 0 0       unless (ref($self) and exists $self->{$field}) {
33 0   0       my $proto = ref($self) || $self;
34 0           Carp::croak(qq{Can't locate object method "$method" via package "$proto"});
35             }
36 0           $self->{$field};
37 0           };
38              
39 0           goto &$AUTOLOAD;
40             }
41              
42             1;
43              
44             __END__