File Coverage

blib/lib/Aspect/Library/Listenable/Event.pm
Criterion Covered Total %
statement 19 23 82.6
branch 3 4 75.0
condition n/a
subroutine 5 6 83.3
pod 0 3 0.0
total 27 36 75.0


line stmt bran cond sub pod time code
1             package Aspect::Library::Listenable::Event;
2              
3 2     2   8 use strict;
  2         2  
  2         59  
4 2     2   11 use warnings;
  2         3  
  2         630  
5              
6             our $VERSION = '0.97_06';
7              
8             sub new {
9 13     13 0 13 my $class = shift;
10 13         26 bless { @_ }, $class;
11             }
12              
13             sub AUTOLOAD {
14 31     31   1029 my ($self, $value) = @_;
15 31         25 my $key = our $AUTOLOAD;
16 31 100       219 return if $key =~ /DESTROY$/;
17 18         56 $key =~ s/^.*:://;
18             return @_ == 1
19             ? $self->{$key}
20 18 50       68 : ( $self->{$key} = $value );
21             }
22              
23             sub clone {
24 7     7 0 3 my $self = shift;
25 7         9 my $class = ref $self;
26 7         9 my $clone = $class->new;
27 7         19 while ( my ($key, $value) = each %$self ) {
28 23         48 $clone->{$key} = $value;
29             }
30 7         9 return $clone;
31             }
32              
33             sub as_string {
34 0     0 0   my $self = shift;
35 0           local $_;
36 0           return join ', ', map { "$_:$self->{$_}" } sort keys %$self;
  0            
37             }
38              
39             1;