File Coverage

blib/lib/HTTP/Request/FromLog/Engine/Base.pm
Criterion Covered Total %
statement 23 24 95.8
branch n/a
condition n/a
subroutine 6 7 85.7
pod 1 1 100.0
total 30 32 93.7


line stmt bran cond sub pod time code
1             package HTTP::Request::FromLog::Engine::Base;
2              
3 2     2   587 use strict;
  2         3  
  2         57  
4 2     2   10 use warnings;
  2         4  
  2         43  
5 2     2   9 use Carp ();
  2         3  
  2         208  
6              
7             sub new {
8 2     2 1 121 my $class = shift;
9 2         7 my %args = @_;
10              
11 2         15 __PACKAGE__->_mk_virtual_methods($_) for qw( parse );
12 2         54 return bless {%args}, $class;
13             }
14              
15             sub _mk_virtual_methods {
16 2     2   4 my $class = shift;
17 2         5 foreach my $method (@_) {
18 2         5 my $slot = "${class}::${method}";
19             {
20 2     2   9 no strict 'refs';
  2         2  
  2         202  
  2         3  
21 2         18 *{$slot} = sub {
22 0     0   0 Carp::croak( ref( $_[0] ) . "::${method} is not overridden" );
23 2         12 };
24             }
25             }
26 2         8 return ();
27             }
28              
29             1;
30              
31             __END__