| Email-Sender documentation | Contained in the Email-Sender distribution. |
Email::Sender::Failure::Multi - an aggregate of multiple failures
version 0.110001
A multiple failure report is raised when more than one failure is encountered when sending a single message, or when mixed states were encountered.
This method returns a list (or arrayref, in scalar context) of other Email::Sender::Failure objects represented by this multi.
A multiple failure will report that it is a Permanent or Temporary if all of its contained failures are failures of that type.
Ricardo Signes <rjbs@cpan.org>
This software is copyright (c) 2011 by Ricardo Signes.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
| Email-Sender documentation | Contained in the Email-Sender distribution. |
package Email::Sender::Failure::Multi; BEGIN { $Email::Sender::Failure::Multi::VERSION = '0.110001'; } use Moose; extends 'Email::Sender::Failure'; # ABSTRACT: an aggregate of multiple failures has failures => ( is => 'ro', isa => 'ArrayRef', auto_deref => 1, ); sub recipients { my ($self) = @_; my @rcpts = map { $_->recipients } $self->failures; return wantarray ? @rcpts : \@rcpts; } sub isa { my ($self, $class) = @_; if ( $class eq 'Email::Sender::Failure::Permanent' or $class eq 'Email::Sender::Failure::Temporary' ) { my @failures = $self->failures; return 1 if @failures == grep { $_->isa($class) } @failures; } return $self->SUPER::isa($class); } __PACKAGE__->meta->make_immutable(inline_constructor => 0); no Moose; 1; __END__