File Coverage

blib/lib/Class/Property/RW.pm
Criterion Covered Total %
statement 20 24 83.3
branch n/a
condition n/a
subroutine 6 7 85.7
pod 0 1 0.0
total 26 32 81.2


line stmt bran cond sub pod time code
1             package Class::Property::RW;
2 1     1   323 use strict; use warnings FATAL => 'all';
  1     1   2  
  1         30  
  1         3  
  1         2  
  1         162  
3             #
4             # This package is prototype. It has no use by itself
5             #
6             sub TIESCALAR
7             {
8 4     4   5 my( $class, $field ) = @_;
9 4         22 return bless \{
10             'field' => $field
11             }, $class;
12             }
13            
14             sub STORE
15             {
16 3     3   7 my $self = shift;
17 3         6 ${$self}->{'object'}->{${$self}->{'field'}} = shift;
  3         11  
  3         9  
18 3         14 return;
19             }
20            
21             sub FETCH
22             {
23 5     5   83 my( $self ) = @_;
24 5         9 return ${$self}->{'object'}->{${$self}->{'field'}};
  5         21  
  5         11  
25             }
26            
27             sub DESTROY
28             {
29 0     0   0 my $self = shift;
30 0         0 ${$self} = undef;
  0         0  
31 0         0 return;
32             }
33            
34             sub set_object
35             {
36 23     23 0 37 my $self = shift;
37 23         30 ${$self}->{'object'} = shift;
  23         113  
38             }
39            
40             1;