0
0
Fork 0

Preparing feeds for better filtering

This commit is contained in:
Eugen Rochko 2016-10-02 15:28:47 +02:00
parent 1fce687f8e
commit be86d4e0a3
5 changed files with 22 additions and 9 deletions

View file

@ -9,10 +9,12 @@ class FeedManager
"feed:#{type}:#{id}"
end
# Filter status out of the home feed if it is a reply to someone the user doesn't follow
def filter_status?(status, follower)
replied_to_user = status.reply? ? status.thread.account : nil
(status.reply? && !(follower.id == replied_to_user.id || replied_to_user.id == status.account_id || follower.following?(replied_to_user)))
def filter?(timeline_type, status, receiver)
if timeline_type == :home
filter_from_home?(status, receiver)
else
filter_from_mentions?(status, receiver)
end
end
def push(timeline_type, account, status)
@ -37,6 +39,16 @@ class FeedManager
$redis
end
# Filter status out of the home feed if it is a reply to someone the user doesn't follow
def filter_from_home?(status, follower)
replied_to_user = status.reply? ? status.thread.account : nil
(status.reply? && !(follower.id == replied_to_user.id || replied_to_user.id == status.account_id || follower.following?(replied_to_user)))
end
def filter_from_mentions?(status, follower)
false
end
def inline_render(target_account, status)
rabl_scope = Class.new do
include RoutingHelper