File Coverage

blib/lib/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 Beanstalk::Stats;
2              
3 3     3   2575 use strict;
  3         6  
  3         118  
4 3     3   17 use warnings;
  3         5  
  3         99  
5              
6 3     3   43 use Carp ();
  3         7  
  3         662  
7              
8             our $AUTOLOAD;
9             our $VERSION = "1.07";
10              
11             sub new {
12 0     0 0   my $proto = shift;
13 0           my $href = shift;
14 0           bless $href, $proto;
15             }
16              
17 0     0     sub DESTROY { }
18              
19             sub AUTOLOAD {
20 0     0     (my $method = $AUTOLOAD) =~ s/.*:://;
21 0           (my $field = $method) =~ tr/_/-/;
22              
23 0 0 0       unless (ref($_[0]) and exists $_[0]->{$field}) {
24 0   0       my $proto = ref($_[0]) || $_[0];
25 0           Carp::croak(qq{Can't locate object method "$method" via package "$proto"});
26             }
27 3     3   17 no strict 'refs';
  3         6  
  3         466  
28 0           *{$AUTOLOAD} = sub {
29 0     0     my $self = shift;
30 0 0 0       unless (ref($self) and exists $self->{$field}) {
31 0   0       my $proto = ref($self) || $self;
32 0           Carp::croak(qq{Can't locate object method "$method" via package "$proto"});
33             }
34 0           $self->{$field};
35 0           };
36              
37 0           goto &$AUTOLOAD;
38             }
39              
40             1;
41              
42             __END__