Email-Abstract
view release on metacpan - search on metacpan
view release on metacpan or search on metacpan
lib/Email/Abstract.pm view on Meta::CPAN
sub new {
my ($class, $foreign) = @_;
return $foreign if eval { $foreign->isa($class) };
$foreign = Email::Simple->new($foreign)
unless Scalar::Util::blessed($foreign);
my $adapter = $class->__class_for($foreign); # dies if none available
return bless [ $foreign, $adapter ] => $class;
}
sub __class_for {
my ($self, $foreign, $method, $skip_super) = @_;
$method ||= 'handle';
my $f_class = ref $foreign;
$f_class = $foreign unless $f_class;
return $f_class if ref $foreign and $f_class->isa($self);
t/lib/Test/EmailAbstract.pm view on Meta::CPAN
use strict;
package Test::EmailAbstract;
use Test::More;
sub new {
my ($class, $message) = @_;
my $simple = Email::Simple->new($message);
bless { simple => $simple } => $class;
}
sub simple { $_[0]->{simple} }
sub _call {
my ($wrapped, $object, $method, @args) = @_;
if ($wrapped) {
return $object->$method(@args);
} else {
t/unknown.t view on Meta::CPAN
plan tests => 4;
use_ok("Email::Abstract");
BEGIN {
package Totally::Unknown::ToAll;
@Totally::Unknown::ToAll::ISA = ('Totally::Unknown');
}
for my $class ('Totally::Unknown', 'Totally::Unknown::ToAll') {
my $object = bless [] => $class;
my $abs = eval { Email::Abstract->new($object); };
like($@, qr/handle/, "exception on unknown object type");
}
open FILE, '<t/example.msg';
my $message = do { local $/; <FILE>; };
close FILE;
# Let's be generous and start with real CRLF, no matter what stupid thing the
# VCS or archive tools have done to the message.
view all matches for this distributionview release on metacpan - search on metacpan
( run in 1.332 second using v1.00-cache-2.02-grep-82fe00e-cpan-1925d2aa809 )