File Coverage

blib/lib/DWH_File/Slot.pm
Criterion Covered Total %
statement 22 22 100.0
branch 4 4 100.0
condition 5 6 83.3
subroutine 7 7 100.0
pod 0 3 0.0
total 38 42 90.4


line stmt bran cond sub pod time code
1             package DWH_File::Slot;
2              
3 9     9   55 use warnings;
  9         17  
  9         266  
4 9     9   45 use strict;
  9         17  
  9         303  
5 9     9   44 use vars qw( @ISA $VERSION );
  9         17  
  9         765  
6              
7 9     9   75 use UNIVERSAL;
  9         27  
  9         66  
8              
9             @ISA = qw( );
10             $VERSION = 0.01;
11              
12             sub set_value {
13 145     145 0 210 my ( $self, $value ) = @_;
14 145         384 $self->release;
15 145         259 $self->{ value } = $value;
16 145         317 $self->retain;
17             }
18              
19             sub release {
20 172     172 0 238 my ( $self ) = @_;
21 172 100 100     1185 if ( $self->{ value } and UNIVERSAL::isa( $self->{ value },
22             'DWH_File::Reference' ) ) {
23 2         31 $self->{ value }->cut_refcount;
24             }
25             }
26              
27             sub retain {
28 195     195 0 226 my ( $self ) = @_;
29 195 100 66     798 if ( $self->{ value } and UNIVERSAL::isa( $self->{ value },
30             'DWH_File::Reference' ) ) {
31 27         143 $self->{ value }->bump_refcount;
32             }
33             }
34              
35             1;
36              
37             __END__