From a4048d62bc088cd685bfd2f1804536bae3ba4733 Mon Sep 17 00:00:00 2001 From: dakkar Date: Sun, 19 Jun 2016 18:39:01 +0100 Subject: SubjectTag role --- lib/Sietima/Role/SubjectTag.pm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 lib/Sietima/Role/SubjectTag.pm (limited to 'lib') 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; -- cgit v1.2.3