summaryrefslogtreecommitdiff
path: root/lib/Feed/AuthorName.pm
blob: ae883b232cc8a1aae9784fdf38f1cd1ac4bd1fae (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
package Feed::AuthorName; 
use Moose::Role;
use 5.016;
use namespace::autoclean;
use Email::Address;
use Try::Tiny;
 
requires 'process_entry';
 
before process_entry => sub {
    my ($self,$entry) = @_;
 
    $self->log->trace('before process_entry - begin');
 
    my $author = $entry->author;
 
    return unless $author && $author =~ /\@/;
 
    try {
        my $address = (Email::Address->parse($author))[0];
        if (my $name = $address->name) {
            $entry->author($name);
        }
    };
 
    $self->log->trace('before process_entry - end');
};
 
1;