File Coverage

blib/lib/App/SpamcupNG/Error/Bounce.pm
Criterion Covered Total %
statement 19 19 100.0
branch n/a
condition n/a
subroutine 5 5 100.0
pod 2 2 100.0
total 26 26 100.0


line stmt bran cond sub pod time code
1             package App::SpamcupNG::Error::Bounce;
2 13     13   537 use strict;
  13         28  
  13         398  
3 13     13   65 use warnings;
  13         29  
  13         348  
4 13     13   62 use parent 'App::SpamcupNG::Error';
  13         34  
  13         81  
5              
6             our $VERSION = '0.017'; # VERSION
7              
8             =head1 NAME
9              
10             App::SpamcupNG::Error::Bounce - an Error subclass that represents a bounce
11             error.
12              
13             =head1 SYNOPSIS
14              
15             See L<App::SpamcupNG::Error::Factory> instead of creating it manually.
16              
17             =head1 DESCRIPTION
18              
19             A bounce error means that some issue with your Spamcop account is happening.
20             This is a fatal error that needs to be fixed before trying to report SPAM
21             again.
22              
23             =head1 METHODS
24              
25             =head2 new
26              
27             Creates a new instance.
28              
29             Expects as parameter an array reference containing the bounce error message.
30              
31             A instance of this class is always considered as fatal.
32              
33             =cut
34              
35             sub new {
36 2     2 1 51 my ( $class, $message_ref ) = @_;
37 2         17 return $class->SUPER::new( $message_ref, 1 );
38             }
39              
40             =head2 message
41              
42             Overrided from the parent class, adding required behavior.
43              
44             =cut
45              
46             sub message {
47 1     1 1 1284 my $self = shift;
48 1         3 my @temp = @{ $self->{message} };
  1         11  
49 1         16 $temp[0] =~ s/\:$/,/;
50 1         4 $temp[1] .= ',';
51 1         3 $temp[2] .= '.';
52 1         4 $temp[3]
53             = 'Please, access manually the Spamcop website and fix this before trying to run spamcup again.';
54 1         11 return join( ' ', @temp );
55             }
56              
57             =head1 AUTHOR
58              
59             Alceu Rodrigues de Freitas Junior, E<lt>arfreitas@cpan.orgE<gt>
60              
61             =head1 COPYRIGHT AND LICENSE
62              
63             This software is copyright (c) 2018 of Alceu Rodrigues de Freitas Junior,
64             E<lt>arfreitas@cpan.orgE<gt>
65              
66             This file is part of App-SpamcupNG distribution.
67              
68             App-SpamcupNG is free software: you can redistribute it and/or modify it under
69             the terms of the GNU General Public License as published by the Free Software
70             Foundation, either version 3 of the License, or (at your option) any later
71             version.
72              
73             App-SpamcupNG is distributed in the hope that it will be useful, but WITHOUT
74             ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
75             FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
76              
77             You should have received a copy of the GNU General Public License along with
78             App-SpamcupNG. If not, see <http://www.gnu.org/licenses/>.
79              
80             =cut
81              
82             1;