diff options
author | Eugen Rochko <eugen@zeonfederated.com> | 2016-11-09 19:16:27 +0100 |
---|---|---|
committer | Eugen Rochko <eugen@zeonfederated.com> | 2016-11-09 19:16:27 +0100 |
commit | c5e03a2e0d7eac132a5d62d1d7d523a6969697cc (patch) | |
tree | 64beb72b535d9375653e01af7cfd7e9da428421f /app/services | |
parent | 448ab18a201c902b4e7a1aa468c352c20d034989 (diff) |
Status removal is broadcast to public/hashtag timelines too
Diffstat (limited to 'app/services')
-rw-r--r-- | app/services/remove_status_service.rb | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/app/services/remove_status_service.rb b/app/services/remove_status_service.rb index 0b78b131a..66fa1be18 100644 --- a/app/services/remove_status_service.rb +++ b/app/services/remove_status_service.rb @@ -4,6 +4,8 @@ class RemoveStatusService < BaseService remove_from_followers(status) remove_from_mentioned(status) remove_reblogs(status) + remove_from_hashtags(status) + remove_from_public(status) status.destroy! end @@ -49,6 +51,16 @@ class RemoveStatusService < BaseService FeedManager.instance.broadcast(receiver.id, type: 'delete', id: status.id) end + def remove_from_hashtags(status) + status.tags.each do |tag| + FeedManager.instance.broadcast("hashtag:#{tag.name}", type: 'delete', id: status.id) + end + end + + def remove_from_public(status) + FeedManager.instance.broadcast(:public, type: 'delete', id: status.id) + end + def redis $redis end |