File Coverage

lib/Rex/Interface/File/Local.pm
Criterion Covered Total %
statement 33 36 91.6
branch 4 6 66.6
condition 2 6 33.3
subroutine 9 10 90.0
pod 0 6 0.0
total 48 64 75.0


line stmt bran cond sub pod time code
1             #
2             # (c) Jan Gehring
3             #
4              
5             package Rex::Interface::File::Local;
6              
7 15     15   586 use v5.12.5;
  15         140  
8 15     15   160 use warnings;
  15         110  
  15         1734  
9              
10             our $VERSION = '1.14.2.3'; # TRIAL VERSION
11              
12 15     15   323 use Rex::Interface::File::Base;
  15         107  
  15         445  
13 15     15   790 use base qw(Rex::Interface::File::Base);
  15         99  
  15         9238  
14              
15             sub new {
16 189     189 0 669 my $that = shift;
17 189   33     2117 my $proto = ref($that) || $that;
18 189         1791 my $self = $proto->SUPER::new(@_);
19              
20 189         516 bless( $self, $proto );
21              
22 189         956 return $self;
23             }
24              
25             sub open {
26 189     189 0 1585 my ( $self, $mode, $file ) = @_;
27              
28 189         2153 Rex::Logger::debug("Opening $file with mode: $mode");
29              
30 189 50       16309 open( $self->{fh}, $mode, $file ) or return;
31              
32 189         1812 return 1;
33             }
34              
35             sub read {
36 757     757 0 1494 my ( $self, $len ) = @_;
37              
38 757         1165 my $buf;
39 757         7306 read( $self->{fh}, $buf, $len );
40 757         3729 return $buf;
41             }
42              
43             sub write {
44 268     268 0 590 my ( $self, $buf ) = @_;
45              
46 268 50 33     1511 utf8::encode($buf)
47             if Rex::Config->get_write_utf8_files && utf8::is_utf8($buf);
48              
49 268         573 my $fh = $self->{fh};
50 268         1551 print $fh $buf;
51             }
52              
53             sub seek {
54 0     0 0 0 my ( $self, $pos ) = @_;
55              
56 0         0 my $fh = $self->{fh};
57 0         0 seek( $fh, $pos, 0 );
58             }
59              
60             sub close {
61 372     372 0 945 my ($self) = @_;
62              
63 372         783 my $fh = $self->{fh};
64 372 100       5734 close $fh if $fh;
65 372         1155 $self->{fh} = undef;
66 372         4555 $self = undef;
67             }
68              
69             1;