File Coverage

blib/lib/Net/ACME2/AccessorBase.pm
Criterion Covered Total %
statement 16 17 94.1
branch 4 6 66.6
condition n/a
subroutine 4 4 100.0
pod 0 1 0.0
total 24 28 85.7


line stmt bran cond sub pod time code
1             package Net::ACME2::AccessorBase;
2              
3 6     6   2293 use strict;
  6         12  
  6         151  
4 6     6   26 use warnings;
  6         11  
  6         1352  
5              
6             our $AUTOLOAD;
7              
8             sub new {
9 14     14 0 388 my ($class, %opts) = @_;
10              
11 14         97 $opts{"_$_"} = delete $opts{$_} for keys %opts;
12              
13 14         57 return bless \%opts, $class;
14             }
15              
16             sub AUTOLOAD {
17 92     92   44724 my ($self) = @_;
18              
19 92 50       409 $AUTOLOAD =~ m<(.+)::(.+)> or die "Weird func name: “$AUTOLOAD”!";
20 92         249 my ($class, $method) = ($1, $2);
21              
22 92 100       232 if ( grep { $method eq $_ } $self->_ACCESSORS() ) {
  510         963  
23 78         296 return $self->{"_$method"};
24             }
25              
26 14 50       491 return if $method eq 'DESTROY';
27              
28 0           die "“$class” doesn’t define a method “$method”!";
29             }
30              
31             1;