Initial class construction
This commit is contained in:
72
Git/usr/share/perl5/vendor_perl/Mail/Field/AddrList.pm
Normal file
72
Git/usr/share/perl5/vendor_perl/Mail/Field/AddrList.pm
Normal file
@ -0,0 +1,72 @@
|
||||
# Copyrights 1995-2018 by [Mark Overmeer].
|
||||
# For other contributors see ChangeLog.
|
||||
# See the manual pages for details on the licensing terms.
|
||||
# Pod stripped from pm file by OODoc 2.02.
|
||||
# This code is part of the bundle MailTools. Meta-POD processed with
|
||||
# OODoc into POD and HTML manual-pages. See README.md for Copyright.
|
||||
# Licensed under the same terms as Perl itself.
|
||||
|
||||
use strict;
|
||||
|
||||
package Mail::Field::AddrList;
|
||||
use vars '$VERSION';
|
||||
$VERSION = '2.20';
|
||||
|
||||
use base 'Mail::Field';
|
||||
|
||||
use Carp;
|
||||
use Mail::Address;
|
||||
|
||||
|
||||
my $x = bless [];
|
||||
$x->register('To');
|
||||
$x->register('From');
|
||||
$x->register('Cc');
|
||||
$x->register('Reply-To');
|
||||
$x->register('Sender');
|
||||
|
||||
sub create(@)
|
||||
{ my ($self, %arg) = @_;
|
||||
$self->{AddrList} = {};
|
||||
|
||||
while(my ($e, $n) = each %arg)
|
||||
{ $self->{AddrList}{$e} = Mail::Address->new($n, $e);
|
||||
}
|
||||
|
||||
$self;
|
||||
}
|
||||
|
||||
sub parse($)
|
||||
{ my ($self, $string) = @_;
|
||||
foreach my $a (Mail::Address->parse($string))
|
||||
{ my $e = $a->address;
|
||||
$self->{AddrList}{$e} = $a;
|
||||
}
|
||||
$self;
|
||||
}
|
||||
|
||||
sub stringify()
|
||||
{ my $self = shift;
|
||||
join(", ", map { $_->format } values %{$self->{AddrList}});
|
||||
}
|
||||
|
||||
|
||||
sub addresses { keys %{shift->{AddrList}} }
|
||||
|
||||
|
||||
# someone forgot to implement a method to return the Mail::Address
|
||||
# objects. Added in 2.00; a pity that the name addresses() is already
|
||||
# given :( That one should have been named emails()
|
||||
sub addr_list { values %{shift->{AddrList}} }
|
||||
|
||||
|
||||
sub names { map { $_->name } values %{shift->{AddrList}} }
|
||||
|
||||
|
||||
sub set_address($$)
|
||||
{ my ($self, $email, $name) = @_;
|
||||
$self->{AddrList}{$email} = Mail::Address->new($name, $email);
|
||||
$self;
|
||||
}
|
||||
|
||||
1;
|
66
Git/usr/share/perl5/vendor_perl/Mail/Field/Date.pm
Normal file
66
Git/usr/share/perl5/vendor_perl/Mail/Field/Date.pm
Normal file
@ -0,0 +1,66 @@
|
||||
# Copyrights 1995-2018 by [Mark Overmeer].
|
||||
# For other contributors see ChangeLog.
|
||||
# See the manual pages for details on the licensing terms.
|
||||
# Pod stripped from pm file by OODoc 2.02.
|
||||
# This code is part of the bundle MailTools. Meta-POD processed with
|
||||
# OODoc into POD and HTML manual-pages. See README.md for Copyright.
|
||||
# Licensed under the same terms as Perl itself.
|
||||
|
||||
package Mail::Field::Date;
|
||||
use vars '$VERSION';
|
||||
$VERSION = '2.20';
|
||||
|
||||
use base 'Mail::Field';
|
||||
|
||||
use strict;
|
||||
|
||||
use Date::Format qw(time2str);
|
||||
use Date::Parse qw(str2time);
|
||||
|
||||
(bless [])->register('Date');
|
||||
|
||||
|
||||
sub set()
|
||||
{ my $self = shift;
|
||||
my $arg = @_ == 1 ? shift : { @_ };
|
||||
|
||||
foreach my $s (qw(Time TimeStr))
|
||||
{ if(exists $arg->{$s})
|
||||
{ $self->{$s} = $arg->{$s} }
|
||||
else { delete $self->{$s} }
|
||||
}
|
||||
|
||||
$self;
|
||||
}
|
||||
|
||||
sub parse($)
|
||||
{ my $self = shift;
|
||||
delete $self->{Time};
|
||||
$self->{TimeStr} = shift;
|
||||
$self;
|
||||
}
|
||||
|
||||
|
||||
sub time(;$)
|
||||
{ my $self = shift;
|
||||
|
||||
if(@_)
|
||||
{ delete $self->{TimeStr};
|
||||
return $self->{Time} = shift;
|
||||
}
|
||||
|
||||
$self->{Time} ||= str2time $self->{TimeStr};
|
||||
}
|
||||
|
||||
sub stringify
|
||||
{ my $self = shift;
|
||||
$self->{TimeStr} ||= time2str("%a, %e %b %Y %T %z", $self->time);
|
||||
}
|
||||
|
||||
sub reformat
|
||||
{ my $self = shift;
|
||||
$self->time($self->time);
|
||||
$self->stringify;
|
||||
}
|
||||
|
||||
1;
|
37
Git/usr/share/perl5/vendor_perl/Mail/Field/Generic.pm
Normal file
37
Git/usr/share/perl5/vendor_perl/Mail/Field/Generic.pm
Normal file
@ -0,0 +1,37 @@
|
||||
# Copyrights 1995-2018 by [Mark Overmeer].
|
||||
# For other contributors see ChangeLog.
|
||||
# See the manual pages for details on the licensing terms.
|
||||
# Pod stripped from pm file by OODoc 2.02.
|
||||
# This code is part of the bundle MailTools. Meta-POD processed with
|
||||
# OODoc into POD and HTML manual-pages. See README.md for Copyright.
|
||||
# Licensed under the same terms as Perl itself.
|
||||
|
||||
package Mail::Field::Generic;
|
||||
use vars '$VERSION';
|
||||
$VERSION = '2.20';
|
||||
|
||||
use base 'Mail::Field';
|
||||
|
||||
use Carp;
|
||||
|
||||
|
||||
sub create
|
||||
{ my ($self, %arg) = @_;
|
||||
$self->{Text} = delete $arg{Text};
|
||||
|
||||
croak "Unknown options " . join(",", keys %arg)
|
||||
if %arg;
|
||||
|
||||
$self;
|
||||
}
|
||||
|
||||
|
||||
sub parse
|
||||
{ my $self = shift;
|
||||
$self->{Text} = shift || "";
|
||||
$self;
|
||||
}
|
||||
|
||||
sub stringify { shift->{Text} }
|
||||
|
||||
1;
|
Reference in New Issue
Block a user