aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/Sietima.pm6
-rw-r--r--lib/Sietima/MailStore.pm4
-rw-r--r--lib/Sietima/Message.pm4
-rw-r--r--lib/Sietima/Role/AvoidDups.pm4
-rw-r--r--lib/Sietima/Role/Debounce.pm3
-rw-r--r--lib/Sietima/Role/NoMail.pm6
-rw-r--r--lib/Sietima/Role/SubscriberOnly.pm3
-rw-r--r--lib/Sietima/Role/SubscriberOnly/Drop.pm4
-rw-r--r--lib/Sietima/Role/SubscriberOnly/Moderate.pm4
-rw-r--r--lib/Sietima/Role/WithAdmin.pm4
-rw-r--r--lib/Sietima/Role/WithMailStore.pm4
-rw-r--r--lib/Sietima/Subscriber.pm4
-rw-r--r--lib/Sietima/Types.pm2
-rw-r--r--t/lib/Test/Sietima.pm12
-rw-r--r--t/lib/Test/Sietima/MailStore.pm8
-rw-r--r--t/tests/sietima.t2
-rw-r--r--t/tests/sietima/message.t2
-rw-r--r--t/tests/sietima/role/avoid-dups.t2
-rw-r--r--t/tests/sietima/role/debounce.t2
-rw-r--r--t/tests/sietima/role/nomail.t2
-rw-r--r--t/tests/sietima/role/subscriberonly/drop.t4
-rw-r--r--t/tests/sietima/role/subscriberonly/moderate.t4
-rw-r--r--t/tests/sietima/subscriber.t2
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;