about summary refs log tree commit diff
path: root/app/models/stream_entry.rb
diff options
context:
space:
mode:
authorEugen Rochko <eugen@zeonfederated.com>2016-03-16 10:58:58 +0100
committerEugen Rochko <eugen@zeonfederated.com>2016-03-16 10:58:58 +0100
commit5c99e304e5d3e9f975d19d7097bfde3ace986ad8 (patch)
tree9c59226db9ad6127409898668484d6f99d5e0ea3 /app/models/stream_entry.rb
parent75b3339a99bd32c59004effd05dcd0edfc0b7c2a (diff)
Deleting statuses, deletion propagation
Diffstat (limited to 'app/models/stream_entry.rb')
-rw-r--r--app/models/stream_entry.rb20
1 files changed, 13 insertions, 7 deletions
diff --git a/app/models/stream_entry.rb b/app/models/stream_entry.rb
index e19dcc6c6..0cc959a1c 100644
--- a/app/models/stream_entry.rb
+++ b/app/models/stream_entry.rb
@@ -5,11 +5,11 @@ class StreamEntry < ActiveRecord::Base
   validates :account, :activity, presence: true
 
   def object_type
-    targeted? ? :activity : self.activity.object_type
+    orphaned? ? :activity : (targeted? ? :activity : self.activity.object_type)
   end
 
   def verb
-    self.activity.verb
+    orphaned? ? :delete : self.activity.verb
   end
 
   def targeted?
@@ -17,15 +17,15 @@ class StreamEntry < ActiveRecord::Base
   end
 
   def target
-    self.activity.target
+    orphaned? ? nil : self.activity.target
   end
 
   def title
-    self.activity.title
+    orphaned? ? nil : self.activity.title
   end
 
   def content
-    self.activity.content
+    orphaned? ? nil : self.activity.content
   end
 
   def threaded?
@@ -33,10 +33,16 @@ class StreamEntry < ActiveRecord::Base
   end
 
   def thread
-    self.activity.thread
+    orphaned? ? nil : self.activity.thread
   end
 
   def mentions
-    self.activity.mentions
+    orphaned? ? [] : self.activity.mentions
+  end
+
+  private
+
+  def orphaned?
+    self.activity.nil?
   end
 end