File Coverage

blib/lib/Parse/ExuberantCTags/Merge/SimpleScopeGuard.pm
Criterion Covered Total %
statement 21 26 80.7
branch 2 4 50.0
condition 1 5 20.0
subroutine 6 7 85.7
pod 2 2 100.0
total 32 44 72.7


line stmt bran cond sub pod time code
1             package Parse::ExuberantCTags::Merge::SimpleScopeGuard;
2              
3 2     2   56 use 5.006001;
  2         6  
  2         78  
4 2     2   10 use strict;
  2         3  
  2         74  
5 2     2   9 use warnings;
  2         3  
  2         148  
6              
7             our $VERSION = '1.00';
8              
9             use Class::XSAccessor
10 2         25 constructor => 'new',
11             accessors => {
12             files => 'files',
13 2     2   10 };
  2         2  
14              
15             sub add_files {
16 0     0 1 0 my $self = shift;
17 0   0     0 my $files = $self->files || [];
18              
19 0         0 push @$files, @_;
20 0         0 $self->files($files);
21 0         0 return(1);
22             }
23              
24             sub cleanup {
25 11     11 1 14 my $self = shift;
26 11 50       17 foreach my $file ( @{$self->files || []} ) {
  11         48  
27 2 50 33     48 if (defined $file and -f $file) {
28 2         231 unlink $file;
29             }
30             }
31 11         27 $self->files([]);
32 11         56 return();
33             }
34              
35             sub DESTROY {
36 11     11   338 my $self = shift;
37 11         48 $self->cleanup;
38             }
39              
40             1;
41             __END__