File Coverage

blib/lib/Class/Property/RW.pm
Criterion Covered Total %
statement 21 21 100.0
branch n/a
condition n/a
subroutine 6 6 100.0
pod n/a
total 27 27 100.0


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