From f249a8c187226c02463e1f91c716cff5ba4b4080 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 10 Oct 2016 14:22:09 +0200 Subject: [PATCH] Include mentions and media attachments of reblogged posts in Atom --- app/helpers/atom_builder_helper.rb | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/app/helpers/atom_builder_helper.rb b/app/helpers/atom_builder_helper.rb index c1ca8c619..343562569 100644 --- a/app/helpers/atom_builder_helper.rb +++ b/app/helpers/atom_builder_helper.rb @@ -149,6 +149,7 @@ module AtomBuilderHelper verb xml, stream_entry.verb link_self xml, account_stream_entry_url(stream_entry.account, stream_entry, format: 'atom') link_alternate xml, account_stream_entry_url(stream_entry.account, stream_entry) + object_type xml, stream_entry.object_type # Comments need thread element if stream_entry.threaded? @@ -167,7 +168,7 @@ module AtomBuilderHelper end # Statuses have content and author - if [:note, :comment].include? stream_entry.target.object_type + if stream_entry.target.is_a?(Status) content xml, conditionally_formatted(stream_entry.target) verb xml, stream_entry.target.verb published_at xml, stream_entry.target.created_at @@ -176,10 +177,16 @@ module AtomBuilderHelper author(xml) do include_author xml, stream_entry.target.account end + + stream_entry.target.mentions.each do |mentioned| + link_mention xml, mentioned + end + + stream_entry.target.media_attachments.each do |media| + link_enclosure xml, media + end end end - else - object_type xml, stream_entry.object_type end stream_entry.mentions.each do |mentioned|