aboutsummaryrefslogtreecommitdiff
path: root/lib/Sietima/Role/ManualSubscription.pm
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Sietima/Role/ManualSubscription.pm')
-rw-r--r--lib/Sietima/Role/ManualSubscription.pm62
1 files changed, 45 insertions, 17 deletions
diff --git a/lib/Sietima/Role/ManualSubscription.pm b/lib/Sietima/Role/ManualSubscription.pm
index fd75f80..1023fa3 100644
--- a/lib/Sietima/Role/ManualSubscription.pm
+++ b/lib/Sietima/Role/ManualSubscription.pm
@@ -4,11 +4,44 @@ use Sietima::Policy;
use URI;
use namespace::clean;
-# VERSION
+our $VERSION = '1.0.0'; # VERSION
# ABSTRACT: adds standard list-related headers to messages
with 'Sietima::Role::WithOwner';
+
+around list_addresses => sub($orig,$self) {
+ my $list_name = $self->name // 'the list';
+ my $mail_owner_uri = URI->new($self->owner,'mailto');
+ my $sub_uri = $mail_owner_uri->clone;
+ $sub_uri->query_form(subject => "Please add me to $list_name");
+ my $unsub_uri = $mail_owner_uri->clone;
+ $unsub_uri->query_form(subject => "Please remove me from $list_name");
+
+ return +{
+ $self->$orig->%*,
+ subscribe => $sub_uri,
+ unsubscribe => $unsub_uri,
+ };
+};
+
+
+1;
+
+__END__
+
+=pod
+
+=encoding UTF-8
+
+=head1 NAME
+
+Sietima::Role::ManualSubscription - adds standard list-related headers to messages
+
+=head1 VERSION
+
+version 1.0.0
+
=head1 SYNOPSIS
my $sietima = Sietima->with_traits(
@@ -26,28 +59,23 @@ C<Headers>|Sietima::Role::Headers >>) applied will add, to each
outgoing message, headers specifying that to subscribe and
unsubscribe, people sould email the list owner.
-=modif C<list_addresses>
+=head1 MODIFIED METHODS
+
+=head2 C<list_addresses>
This method declares two "addresses", C<subscribe> and
C<unsubscribe>. Both are C<mailto:> URLs for the list
L<owner|Sietima::Role::WithOwner/owner>, with different subjects.
-=cut
+=head1 AUTHOR
-around list_addresses => sub($orig,$self) {
- my $list_name = $self->name // 'the list';
- my $mail_owner_uri = URI->new($self->owner,'mailto');
- my $sub_uri = $mail_owner_uri->clone;
- $sub_uri->query_form(subject => "Please add me to $list_name");
- my $unsub_uri = $mail_owner_uri->clone;
- $unsub_uri->query_form(subject => "Please remove me from $list_name");
+Gianni Ceccarelli <dakkar@thenautilus.net>
- return +{
- $self->$orig->%*,
- subscribe => $sub_uri,
- unsubscribe => $unsub_uri,
- };
-};
+=head1 COPYRIGHT AND LICENSE
+This software is copyright (c) 2017 by Gianni Ceccarelli <dakkar@thenautilus.net>.
-1;
+This is free software; you can redistribute it and/or modify it under
+the same terms as the Perl 5 programming language system itself.
+
+=cut