about summary refs log tree commit diff
path: root/app/helpers/atom_builder_helper.rb
diff options
context:
space:
mode:
authorEugen Rochko <eugen@zeonfederated.com>2016-03-19 00:16:04 +0100
committerEugen Rochko <eugen@zeonfederated.com>2016-03-19 00:16:04 +0100
commit071f64d317408b556c4f85e2f2abd80fe815de8b (patch)
tree7cf5fe781a674c637c0a999b37551b27613aebdb /app/helpers/atom_builder_helper.rb
parent580b91c38740620488816755a5ccb2ec16ff8b1c (diff)
Fix #13, Atom feeds now contain formatted post content
Diffstat (limited to 'app/helpers/atom_builder_helper.rb')
-rw-r--r--app/helpers/atom_builder_helper.rb20
1 files changed, 18 insertions, 2 deletions
diff --git a/app/helpers/atom_builder_helper.rb b/app/helpers/atom_builder_helper.rb
index 95d7c96ec..0cfc438ac 100644
--- a/app/helpers/atom_builder_helper.rb
+++ b/app/helpers/atom_builder_helper.rb
@@ -135,6 +135,22 @@ module AtomBuilderHelper
     xml.logo url
   end
 
+  def conditionally_formatted(activity)
+    if activity.is_a?(Status)
+      if activity.reblog? && activity.reblog.local?
+        linkify(activity.reblog)
+      elsif activity.local?
+        linkify(activity)
+      else
+        activity.content
+      end
+    elsif activity.nil?
+      ''
+    else
+      activity.content
+    end
+  end
+
   def include_author(xml, account)
     object_type      xml, :person
     uri              xml, url_for_target(account)
@@ -150,7 +166,7 @@ module AtomBuilderHelper
     published_at xml, stream_entry.created_at
     updated_at   xml, stream_entry.updated_at
     title        xml, stream_entry.title
-    content      xml, stream_entry.content
+    content      xml, conditionally_formatted(stream_entry.activity)
     verb         xml, stream_entry.verb
     link_self    xml, account_stream_entry_url(stream_entry.account, stream_entry, format: 'atom')
     object_type  xml, stream_entry.object_type
@@ -176,7 +192,7 @@ module AtomBuilderHelper
 
         # Statuses have content
         if [:note, :comment].include? stream_entry.target.object_type
-          content xml, stream_entry.target.content
+          content xml, conditionally_formatted(stream_entry.target)
         end
       end
     end