File Coverage

blib/lib/App/SpamcupNG/Error/LoginFailed.pm
Criterion Covered Total %
statement 14 14 100.0
branch n/a
condition n/a
subroutine 5 5 100.0
pod 2 2 100.0
total 21 21 100.0


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