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