This repository has been archived on 2024-06-09 . You can view files and clone it, but cannot push or open issues/pull-requests.
2016-10-14 23:10:07 +02:00
class FollowSuggestion
2016-10-15 12:58:34 +02:00
def self . get ( for_account_id , limit = 6 )
2016-10-14 23:10:07 +02:00
neo = Neography :: Rest . new
account_ids = neo . execute_query ( 'START a=node:account_index(Account={id}) MATCH (a)-[:follows]->(b)-[:follows]->(c) WHERE a <> c AND NOT (a)-[:follows]->(c) RETURN DISTINCT c.account_id' , id : for_account_id )
2016-10-15 13:48:38 +02:00
Account . where ( id : account_ids [ 'data' ] . map ( & :first ) - Block . where ( account_id : for_account_id ) . pluck ( :target_account_id ) ) . limit ( limit ) unless account_ids . empty?
2016-10-15 12:06:30 +02:00
rescue Neography :: NeographyError , Excon :: Error :: Socket = > e
Rails . logger . error e
[ ]
2016-10-14 23:10:07 +02:00
end
end