File Coverage

lib/App/Muter/Backend/Uuencode.pm
Criterion Covered Total %
statement 16 16 100.0
branch 2 2 100.0
condition n/a
subroutine 6 6 100.0
pod 1 4 25.0
total 25 28 89.2


line stmt bran cond sub pod time code
1             package App::Muter::Backend::Uuencode;
2             # ABSTRACT: a uuencode transform for App::Muter
3             $App::Muter::Backend::Uuencode::VERSION = '0.002002';
4 3     3   21 use strict;
  3         8  
  3         203  
5 3     3   21 use warnings;
  3         7  
  3         679  
6              
7             our @ISA = qw/App::Muter::Backend::Chunked/;
8              
9             sub new {
10 514     514 1 1553 my ($class, $args, %opts) = @_;
11 514         1980 my $self = $class->SUPER::new(
12             $args, %opts,
13             enchunksize => 45,
14             dechunksize => 62,
15             );
16 514         2205 return $self;
17             }
18              
19             sub encode_chunk { ## no critic(RequireArgUnpacking)
20 2772     2772 0 5192 my ($self, $data) = @_;
21 2772         12142 return pack('u', $data);
22             }
23              
24             sub encode_final {
25 266     266 0 621 my ($self, $data) = @_;
26 266         1072 return $self->SUPER::encode_final($data) . "`\n";
27             }
28              
29             sub decode_chunk {
30 1220     1220 0 2660 my ($self, $data) = @_;
31 1220 100       6854 return '' unless length $data;
32 254         1954 return unpack('u', $data);
33             }
34              
35             App::Muter::Registry->instance->register(__PACKAGE__);
36              
37             1;
38              
39             __END__
40              
41             =pod
42              
43             =encoding UTF-8
44              
45             =head1 NAME
46              
47             App::Muter::Backend::Uuencode - a uuencode transform for App::Muter
48              
49             =head1 VERSION
50              
51             version 0.002002
52              
53             =head1 AUTHOR
54              
55             brian m. carlson <sandals@crustytoothpaste.net>
56              
57             =head1 COPYRIGHT AND LICENSE
58              
59             This software is Copyright (c) 2016–2017 by brian m. carlson.
60              
61             This is free software, licensed under:
62              
63             The MIT (X11) License
64              
65             =cut