aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authordakkar <dakkar@thenautilus.net>2016-06-19 18:39:01 +0100
committerdakkar <dakkar@thenautilus.net>2016-06-19 18:39:01 +0100
commita4048d62bc088cd685bfd2f1804536bae3ba4733 (patch)
tree60aecd3584788e1fb6d4f7e25aeade8f9090c4f7 /lib
parentbump perl requirement to 5.24 (diff)
downloadSietima-a4048d62bc088cd685bfd2f1804536bae3ba4733.tar.gz
Sietima-a4048d62bc088cd685bfd2f1804536bae3ba4733.tar.bz2
Sietima-a4048d62bc088cd685bfd2f1804536bae3ba4733.zip
SubjectTag role
Diffstat (limited to 'lib')
-rw-r--r--lib/Sietima/Role/SubjectTag.pm26
1 files changed, 26 insertions, 0 deletions
diff --git a/lib/Sietima/Role/SubjectTag.pm b/lib/Sietima/Role/SubjectTag.pm
new file mode 100644
index 0000000..1daa662
--- /dev/null
+++ b/lib/Sietima/Role/SubjectTag.pm
@@ -0,0 +1,26 @@
+package Sietima::Role::SubjectTag;
+use 5.024;
+use Moo::Role;
+use Types::Standard qw(Str);
+use namespace::clean;
+
+has subject_tag => (
+ is => 'ro',
+ isa => Str,
+ required => 1,
+);
+
+around munge_mail => sub {
+ my ($orig,$self,$mail) = @_;
+
+ my $tag = '['.$self->subject_tag.']';
+ my $subject = $mail->header_str('Subject');
+ unless ($subject =~ m{\Q$tag\E}) {
+ $mail->header_str_set(
+ Subject => "$tag $subject",
+ );
+ }
+ return $self->$orig($mail);
+};
+
+1;