diff options
-rw-r--r-- | lib/Sietima.pm | 6 | ||||
-rw-r--r-- | lib/Sietima/MailStore.pm | 4 | ||||
-rw-r--r-- | lib/Sietima/Message.pm | 4 | ||||
-rw-r--r-- | lib/Sietima/Role/AvoidDups.pm | 4 | ||||
-rw-r--r-- | lib/Sietima/Role/Debounce.pm | 3 | ||||
-rw-r--r-- | lib/Sietima/Role/NoMail.pm | 6 | ||||
-rw-r--r-- | lib/Sietima/Role/SubscriberOnly.pm | 3 | ||||
-rw-r--r-- | lib/Sietima/Role/SubscriberOnly/Drop.pm | 4 | ||||
-rw-r--r-- | lib/Sietima/Role/SubscriberOnly/Moderate.pm | 4 | ||||
-rw-r--r-- | lib/Sietima/Role/WithAdmin.pm | 4 | ||||
-rw-r--r-- | lib/Sietima/Role/WithMailStore.pm | 4 | ||||
-rw-r--r-- | lib/Sietima/Subscriber.pm | 4 | ||||
-rw-r--r-- | lib/Sietima/Types.pm | 2 | ||||
-rw-r--r-- | t/lib/Test/Sietima.pm | 12 | ||||
-rw-r--r-- | t/lib/Test/Sietima/MailStore.pm | 8 | ||||
-rw-r--r-- | t/tests/sietima.t | 2 | ||||
-rw-r--r-- | t/tests/sietima/message.t | 2 | ||||
-rw-r--r-- | t/tests/sietima/role/avoid-dups.t | 2 | ||||
-rw-r--r-- | t/tests/sietima/role/debounce.t | 2 | ||||
-rw-r--r-- | t/tests/sietima/role/nomail.t | 2 | ||||
-rw-r--r-- | t/tests/sietima/role/subscriberonly/drop.t | 4 | ||||
-rw-r--r-- | t/tests/sietima/role/subscriberonly/moderate.t | 4 | ||||
-rw-r--r-- | t/tests/sietima/subscriber.t | 2 |
23 files changed, 42 insertions, 50 deletions
diff --git a/lib/Sietima.pm b/lib/Sietima.pm index 704d4f8..48b90c5 100644 --- a/lib/Sietima.pm +++ b/lib/Sietima.pm @@ -1,5 +1,5 @@ package Sietima; -use 5.020; +use 5.024; use Moo; use Types::Standard qw(ArrayRef Object FileHandle Maybe); use Type::Params qw(compile); @@ -70,7 +70,7 @@ sub munge_mail { from => $self->return_path, to => [ map { $_->address } - @{$self->subscribers_to_send_to($incoming_mail)}, + $self->subscribers_to_send_to($incoming_mail)->@* ], }); } @@ -80,7 +80,7 @@ sub send_message { my ($self,$outgoing_message) = $check->(@_); my $envelope = $outgoing_message->envelope; - if ($envelope->{to} && @{$envelope->{to}}) { + if ($envelope->{to} && $envelope->{to}->@*) { $self->transport->send( $outgoing_message->mail, $envelope, diff --git a/lib/Sietima/MailStore.pm b/lib/Sietima/MailStore.pm index 2d2b1a7..cef6864 100644 --- a/lib/Sietima/MailStore.pm +++ b/lib/Sietima/MailStore.pm @@ -1,7 +1,5 @@ package Sietima::MailStore; -use strict; -use warnings; -use 5.020; +use 5.024; use Moo::Role; requires 'store','retrieve_by_tags','retrieve_by_id'; diff --git a/lib/Sietima/Message.pm b/lib/Sietima/Message.pm index a864c02..89e2fa5 100644 --- a/lib/Sietima/Message.pm +++ b/lib/Sietima/Message.pm @@ -1,5 +1,5 @@ package Sietima::Message; -use 5.020; +use 5.024; use Moo; use Types::Standard qw(ArrayRef Object); use Sietima::Types qw(Address AddressFromStr EmailMIME); @@ -45,7 +45,7 @@ sub clone { return ref($self)->new({ from => $args->{from} || _clone_address($self->from), - to => $args->{to} || [ map { _clone_address($_) } @{$self->to} ], + to => $args->{to} || [ map { _clone_address($_) } $self->to->@* ], mail => $args->{mail} || _clone_mail($self->mail), }); } diff --git a/lib/Sietima/Role/AvoidDups.pm b/lib/Sietima/Role/AvoidDups.pm index da1af00..e0d09c9 100644 --- a/lib/Sietima/Role/AvoidDups.pm +++ b/lib/Sietima/Role/AvoidDups.pm @@ -1,5 +1,5 @@ package Sietima::Role::AvoidDups; -use 5.020; +use 5.024; use Moo::Role; use Email::Address; use namespace::clean; @@ -19,7 +19,7 @@ around subscribers_to_send_to => sub { grep { not $already_receiving{$_->address} } - @{$self->$orig($mail)}, + $self->$orig($mail)->@*, ]; }; diff --git a/lib/Sietima/Role/Debounce.pm b/lib/Sietima/Role/Debounce.pm index 490dfc8..59bb1f2 100644 --- a/lib/Sietima/Role/Debounce.pm +++ b/lib/Sietima/Role/Debounce.pm @@ -1,6 +1,7 @@ package Sietima::Role::Debounce; -use 5.020; +use 5.024; use Moo::Role; +use namespace::clean; my $been_there = 'X-Been-There'; diff --git a/lib/Sietima/Role/NoMail.pm b/lib/Sietima/Role/NoMail.pm index a0753b9..c327e46 100644 --- a/lib/Sietima/Role/NoMail.pm +++ b/lib/Sietima/Role/NoMail.pm @@ -1,14 +1,14 @@ package Sietima::Role::NoMail; -use 5.020; +use 5.024; use Moo::Role; use namespace::clean; around subscribers_to_send_to => sub { - my ($orig,$self,@etc) = @_; + my ($orig,$self,$mail) = @_; return [ grep { $_->prefs->{wants_mail} // 1 } - @{$self->$orig(@etc)}, + $self->$orig($mail)->@*, ]; }; diff --git a/lib/Sietima/Role/SubscriberOnly.pm b/lib/Sietima/Role/SubscriberOnly.pm index 644f2ef..07eac1e 100644 --- a/lib/Sietima/Role/SubscriberOnly.pm +++ b/lib/Sietima/Role/SubscriberOnly.pm @@ -1,4 +1,5 @@ package Sietima::Role::SubscriberOnly; +use 5.024; use Moo::Role; use Email::Address; use List::AllUtils qw(any); @@ -13,7 +14,7 @@ around munge_mail => sub { my ($from) = Email::Address->parse( $mail->header_str('from') ); if ( $let_it_pass or - any { $_->match($from) } @{$self->subscribers} ) { + any { $_->match($from) } $self->subscribers->@* ) { $self->$orig($mail); } else { diff --git a/lib/Sietima/Role/SubscriberOnly/Drop.pm b/lib/Sietima/Role/SubscriberOnly/Drop.pm index 8db062f..c511c9b 100644 --- a/lib/Sietima/Role/SubscriberOnly/Drop.pm +++ b/lib/Sietima/Role/SubscriberOnly/Drop.pm @@ -1,7 +1,5 @@ package Sietima::Role::SubscriberOnly::Drop; -use strict; -use warnings; -use 5.020; +use 5.024; use Moo::Role; use namespace::clean; diff --git a/lib/Sietima/Role/SubscriberOnly/Moderate.pm b/lib/Sietima/Role/SubscriberOnly/Moderate.pm index 107a843..912fb49 100644 --- a/lib/Sietima/Role/SubscriberOnly/Moderate.pm +++ b/lib/Sietima/Role/SubscriberOnly/Moderate.pm @@ -1,7 +1,5 @@ package Sietima::Role::SubscriberOnly::Moderate; -use strict; -use warnings; -use 5.020; +use 5.024; use Moo::Role; use Email::Stuffer; use Email::MIME; diff --git a/lib/Sietima/Role/WithAdmin.pm b/lib/Sietima/Role/WithAdmin.pm index 08bf0d2..da0f05a 100644 --- a/lib/Sietima/Role/WithAdmin.pm +++ b/lib/Sietima/Role/WithAdmin.pm @@ -1,7 +1,5 @@ package Sietima::Role::WithAdmin; -use strict; -use warnings; -use 5.020; +use 5.024; use Moo::Role; use Sietima::Types qw(Address AddressFromStr); use namespace::clean; diff --git a/lib/Sietima/Role/WithMailStore.pm b/lib/Sietima/Role/WithMailStore.pm index abee4e2..806d273 100644 --- a/lib/Sietima/Role/WithMailStore.pm +++ b/lib/Sietima/Role/WithMailStore.pm @@ -1,7 +1,5 @@ package Sietima::Role::WithMailStore; -use strict; -use warnings; -use 5.020; +use 5.024; use Moo::Role; use Sietima::Types qw(MailStore); use namespace::clean; diff --git a/lib/Sietima/Subscriber.pm b/lib/Sietima/Subscriber.pm index c223343..79a26fb 100644 --- a/lib/Sietima/Subscriber.pm +++ b/lib/Sietima/Subscriber.pm @@ -1,5 +1,5 @@ package Sietima::Subscriber; -use 5.020; +use 5.024; use Moo; use Types::Standard qw(ArrayRef HashRef Object); use Type::Params qw(compile); @@ -39,7 +39,7 @@ sub match { my ($self,$addr) = $check->(@_); return any { $addr->address eq $_->address } - $self->raw_address, @{$self->aliases}; + $self->raw_address, $self->aliases->@*; } 1; diff --git a/lib/Sietima/Types.pm b/lib/Sietima/Types.pm index 00f0883..f8b5faf 100644 --- a/lib/Sietima/Types.pm +++ b/lib/Sietima/Types.pm @@ -1,5 +1,5 @@ package Sietima::Types; -use 5.020; +use 5.024; use strict; use warnings; use Type::Utils -all; diff --git a/t/lib/Test/Sietima.pm b/t/lib/Test/Sietima.pm index 549d654..115a1e6 100644 --- a/t/lib/Test/Sietima.pm +++ b/t/lib/Test/Sietima.pm @@ -1,7 +1,7 @@ package Test::Sietima; use strict; use warnings; -use 5.020; +use 5.024; use lib 't/lib'; use Import::Into; use Email::Stuffer; @@ -21,7 +21,7 @@ sub import { for my $function (qw(transport make_sietima make_mail deliveries_are test_sending)) { no strict 'refs'; - *{"${target}::${function}"} = __PACKAGE__->can($function); + "${target}::${function}"->** = __PACKAGE__->can($function); } return; } @@ -38,7 +38,7 @@ sub make_sietima { my $class = 'Sietima'; if (my $traits = delete $args{with_traits}) { - $class = $class->with_traits(@{$traits}); + $class = $class->with_traits($traits->@*); } $class->new({ @@ -57,7 +57,7 @@ my $maybe = sub { my $mapit = sub { my ($obj,$method,$arg) = @_; return $obj unless $arg; - for my $k (keys %{$arg}) { + for my $k (keys $arg->%*) { $obj = $obj->$method($k, $arg->{$k}); } return $obj; @@ -81,7 +81,7 @@ sub deliveries_are { my $ctx = context(); my $to = $args{to}; - my @recipients = ref($to) ? @{$to} : $to; + my @recipients = ref($to) ? $to->@* : $to; my @deliveries = transport->deliveries; is( \@deliveries, @@ -131,7 +131,7 @@ sub test_sending { ); $args{from} ||= $sietima->return_path; - $args{to} ||= [ map { $_->address} @{$sietima->subscribers} ]; + $args{to} ||= [ map { $_->address} $sietima->subscribers->@* ]; deliveries_are(%args); $ctx->release; diff --git a/t/lib/Test/Sietima/MailStore.pm b/t/lib/Test/Sietima/MailStore.pm index abf4435..78b76f3 100644 --- a/t/lib/Test/Sietima/MailStore.pm +++ b/t/lib/Test/Sietima/MailStore.pm @@ -1,7 +1,7 @@ package Test::Sietima::MailStore; use strict; use warnings; -use 5.020; +use 5.024; use Moo; use List::AllUtils qw(all); use namespace::clean; @@ -19,7 +19,7 @@ sub store { my ($self,$mail,@tags) = @_; my $id = time(); - push @{$self->_mails}, { + push $self->_mails->@*, { id => $id, mail => $mail->as_string, tags => { map {$_ => 1;} @tags, }, @@ -31,7 +31,7 @@ sub retrieve_by_tags { my ($self,@tags) = @_; my @ret; - for my $m (@{$self->_mails}) { + for my $m ($self->_mails->@*) { next unless all { $m->{tags}{$_} } @tags; push @ret, { %{$m}{id}, @@ -45,7 +45,7 @@ sub retrieve_by_tags { sub retrieve_by_id { my ($self,$id) = @_; - for my $m (@{$self->_mails}) { + for my $m ($self->_mails->@*) { next unless $m->{id} eq $id; return Email::MIME->new($m->{mail}); } diff --git a/t/tests/sietima.t b/t/tests/sietima.t index 3644763..143c026 100644 --- a/t/tests/sietima.t +++ b/t/tests/sietima.t @@ -1,7 +1,7 @@ #!perl use strict; use warnings; -use 5.020; +use 5.024; use lib 't/lib'; use Test::Sietima; diff --git a/t/tests/sietima/message.t b/t/tests/sietima/message.t index 2db7fda..5d9ceca 100644 --- a/t/tests/sietima/message.t +++ b/t/tests/sietima/message.t @@ -1,7 +1,7 @@ #!perl use strict; use warnings; -use 5.020; +use 5.024; use lib 't/lib'; use Test2::Bundle::Extended; use Test2::Plugin::DieOnFail; diff --git a/t/tests/sietima/role/avoid-dups.t b/t/tests/sietima/role/avoid-dups.t index 997f3fd..d5fcab3 100644 --- a/t/tests/sietima/role/avoid-dups.t +++ b/t/tests/sietima/role/avoid-dups.t @@ -1,7 +1,7 @@ #!perl use strict; use warnings; -use 5.020; +use 5.024; use lib 't/lib'; use Test::Sietima; diff --git a/t/tests/sietima/role/debounce.t b/t/tests/sietima/role/debounce.t index 6021f2b..698cd36 100644 --- a/t/tests/sietima/role/debounce.t +++ b/t/tests/sietima/role/debounce.t @@ -1,7 +1,7 @@ #!perl use strict; use warnings; -use 5.020; +use 5.024; use lib 't/lib'; use Test::Sietima; diff --git a/t/tests/sietima/role/nomail.t b/t/tests/sietima/role/nomail.t index df4d106..fe64e84 100644 --- a/t/tests/sietima/role/nomail.t +++ b/t/tests/sietima/role/nomail.t @@ -1,7 +1,7 @@ #!perl use strict; use warnings; -use 5.020; +use 5.024; use lib 't/lib'; use Test::Sietima; diff --git a/t/tests/sietima/role/subscriberonly/drop.t b/t/tests/sietima/role/subscriberonly/drop.t index 165268d..c4123af 100644 --- a/t/tests/sietima/role/subscriberonly/drop.t +++ b/t/tests/sietima/role/subscriberonly/drop.t @@ -1,7 +1,7 @@ #!perl use strict; use warnings; -use 5.020; +use 5.024; use lib 't/lib'; use Test::Sietima; @@ -11,7 +11,7 @@ my @subscriber_addresses = ( ); my $s = make_sietima( with_traits => ['SubscriberOnly::Drop'], - subscribers => [@subscriber_addresses], + subscribers => \@subscriber_addresses, ); subtest 'from subscriber' => sub { diff --git a/t/tests/sietima/role/subscriberonly/moderate.t b/t/tests/sietima/role/subscriberonly/moderate.t index c76e69b..6564b13 100644 --- a/t/tests/sietima/role/subscriberonly/moderate.t +++ b/t/tests/sietima/role/subscriberonly/moderate.t @@ -1,7 +1,7 @@ #!perl use strict; use warnings; -use 5.020; +use 5.024; use lib 't/lib'; use Test::Sietima; use Test::Sietima::MailStore; @@ -14,7 +14,7 @@ my $admin = 'admin@lists.example.com'; my $ms = Test::Sietima::MailStore->new(); my $s = make_sietima( with_traits => ['SubscriberOnly::Moderate'], - subscribers => [@subscriber_addresses], + subscribers => \@subscriber_addresses, admin => $admin, mail_store => $ms, ); diff --git a/t/tests/sietima/subscriber.t b/t/tests/sietima/subscriber.t index 5a06bba..979997b 100644 --- a/t/tests/sietima/subscriber.t +++ b/t/tests/sietima/subscriber.t @@ -1,7 +1,7 @@ #!perl use strict; use warnings; -use 5.020; +use 5.024; use Test2::Bundle::Extended; use Test2::Plugin::DieOnFail; use Sietima::Subscriber; |