This repository has been archived on 2024-07-31 . You can view files and clone it, but cannot push or open issues or pull requests.
2016-10-14 17:10:07 -04:00
class FollowSuggestion
2016-10-15 06:58:34 -04:00
def self . get ( for_account_id , limit = 6 )
2016-10-14 17:10:07 -04: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 07:48:38 -04: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 06:06:30 -04:00
rescue Neography :: NeographyError , Excon :: Error :: Socket = > e
Rails . logger . error e
[ ]
2016-10-14 17:10:07 -04:00
end
end