File Coverage

blib/lib/Iterator/BreakOn/Event.pm
Criterion Covered Total %
statement 27 34 79.4
branch 0 4 0.0
condition n/a
subroutine 9 10 90.0
pod 1 1 100.0
total 37 49 75.5


line stmt bran cond sub pod time code
1             package Iterator::BreakOn::Base::Event;
2 2     2   18 use base qw(Class::Accessor);
  2         3  
  2         1759  
3 2     2   4581 use strict;
  2         5  
  2         60  
4 2     2   12 use warnings;
  2         4  
  2         66  
5 2     2   32 use Carp;
  2         5  
  2         276  
6              
7             #
8             # I'm using This pseudo class the limitations of Class::Accessor for
9             # overriding autogenerated accessors
10             #
11              
12             our $VERSION = '0.1';
13              
14             Iterator::BreakOn::Base::Event->mk_accessors( qw( name field value ) );
15              
16             package Iterator::BreakOn::Event;
17 2     2   10 use base qw(Iterator::BreakOn::Base::Event);
  2         14  
  2         1084  
18 2     2   12 use strict;
  2         5  
  2         56  
19 2     2   11 use warnings;
  2         3  
  2         77  
20 2     2   11 use Carp;
  2         3  
  2         121  
21              
22 2     2   12 use Iterator::BreakOn::X;
  2         3  
  2         461  
23              
24             our $VERSION = '0.1';
25              
26             sub name {
27 0     0 1   my $self = shift;
28 0           my $value = shift;
29              
30 0 0         if (defined($value)) {
31 0 0         if ($value =~ m{on_first|on_last|on_every|
32             before_(\w+)|after_(\w+)}xms) {
33 0           return $self->SUPER::name( $value );
34             }
35             else {
36 0           Iterator::BreakOn::X->invalid_event->throw( name => $value );
37             }
38             }
39            
40 0           return $self->SUPER::name();
41             }
42              
43             1;
44             __END__