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   521 use v5.12.5;
  15         131  
8 15     15   169 use warnings;
  15         81  
  15         1921  
9              
10             our $VERSION = '1.14.2.2'; # TRIAL VERSION
11              
12 15     15   314 use Rex::Interface::File::Base;
  15         110  
  15         398  
13 15     15   769 use base qw(Rex::Interface::File::Base);
  15         71  
  15         8824  
14              
15             sub new {
16 189     189 0 772 my $that = shift;
17 189   33     2294 my $proto = ref($that) || $that;
18 189         1848 my $self = $proto->SUPER::new(@_);
19              
20 189         497 bless( $self, $proto );
21              
22 189         763 return $self;
23             }
24              
25             sub open {
26 189     189 0 1525 my ( $self, $mode, $file ) = @_;
27              
28 189         1905 Rex::Logger::debug("Opening $file with mode: $mode");
29              
30 189 50       17348 open( $self->{fh}, $mode, $file ) or return;
31              
32 189         1918 return 1;
33             }
34              
35             sub read {
36 757     757 0 1446 my ( $self, $len ) = @_;
37              
38 757         1084 my $buf;
39 757         7096 read( $self->{fh}, $buf, $len );
40 757         4025 return $buf;
41             }
42              
43             sub write {
44 268     268 0 572 my ( $self, $buf ) = @_;
45              
46 268 50 33     1526 utf8::encode($buf)
47             if Rex::Config->get_write_utf8_files && utf8::is_utf8($buf);
48              
49 268         529 my $fh = $self->{fh};
50 268         1480 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 855 my ($self) = @_;
62              
63 372         770 my $fh = $self->{fh};
64 372 100       5849 close $fh if $fh;
65 372         1177 $self->{fh} = undef;
66 372         4858 $self = undef;
67             }
68              
69             1;