summaryrefslogtreecommitdiff
path: root/lib/Feed/HelperRole/FeedEntry.pm
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Feed/HelperRole/FeedEntry.pm')
-rw-r--r--lib/Feed/HelperRole/FeedEntry.pm28
1 files changed, 28 insertions, 0 deletions
diff --git a/lib/Feed/HelperRole/FeedEntry.pm b/lib/Feed/HelperRole/FeedEntry.pm
new file mode 100644
index 0000000..3abe2e1
--- /dev/null
+++ b/lib/Feed/HelperRole/FeedEntry.pm
@@ -0,0 +1,28 @@
+package Feed::HelperRole::FeedEntry;
+use Moose::Role;
+use 5.012;
+use namespace::autoclean;
+
+requires 'content','summary','id','link','modified','issued';
+
+sub unified_id {
+ my ($self) = @_;
+
+ return $self->id // $self->link;
+}
+
+sub unified_date {
+ my ($self) = @_;
+
+ return $self->modified // $self->issued;
+}
+
+sub unified_content {
+ my ($self) = @_;
+
+ my $c = $self->content;
+ return $c if $c->body;
+ return $self->summary;
+}
+
+1;