aboutsummaryrefslogtreecommitdiff
path: root/lib/Sietima/Subscriber.pm
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Sietima/Subscriber.pm')
-rw-r--r--lib/Sietima/Subscriber.pm13
1 files changed, 6 insertions, 7 deletions
diff --git a/lib/Sietima/Subscriber.pm b/lib/Sietima/Subscriber.pm
index b62e44f..606f61d 100644
--- a/lib/Sietima/Subscriber.pm
+++ b/lib/Sietima/Subscriber.pm
@@ -2,7 +2,7 @@ package Sietima::Subscriber;
use Moo;
use Sietima::Policy;
use Types::Standard qw(ArrayRef HashRef Object);
-use Type::Params qw(compile);
+use Type::Params -sigs;
use Sietima::Types qw(Address AddressFromStr);
use Email::Address;
use List::AllUtils qw(any);
@@ -87,12 +87,11 @@ a subscriber.
=cut
-sub match {
- # we can't use the sub signature here, because we need the
- # coercion
- state $check = compile(Object,Address->plus_coercions(AddressFromStr));
- my ($self,$addr) = $check->(@_);
-
+signature_for match => (
+ method => Object,
+ positional => [ Address->plus_coercions(AddressFromStr) ],
+);
+sub match($self,$addr) {
return any { $addr->address eq $_->address }
$self->primary, $self->aliases->@*;
}