diff options
author | Eugen Rochko <eugen@zeonfederated.com> | 2016-02-24 12:57:29 +0100 |
---|---|---|
committer | Eugen Rochko <eugen@zeonfederated.com> | 2016-02-24 12:57:29 +0100 |
commit | fa7868675d0952f8e4e1aa2f6b77586bb56de2c1 (patch) | |
tree | 33b79c306943ade9c5bc49a06cfedf1e2aee231a /app/services/follow_service.rb | |
parent | 10eb47a33e2f0c7f0eba5302319c4321db41294c (diff) |
Send Salmon interactions
Diffstat (limited to 'app/services/follow_service.rb')
-rw-r--r-- | app/services/follow_service.rb | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/app/services/follow_service.rb b/app/services/follow_service.rb index ea868b544..623d52b74 100644 --- a/app/services/follow_service.rb +++ b/app/services/follow_service.rb @@ -1,12 +1,23 @@ -class FollowService +class FollowService < BaseService + # Follow a remote user, notify remote user about the follow + # @param [Account] source_account From which to follow + # @param [String] uri User URI to follow in the form of username@domain def call(source_account, uri) target_account = follow_remote_account_service.(uri) - source_account.follow!(target_account) unless target_account.nil? + + return if target_account.nil? + + follow = source_account.follow!(target_account) + send_interaction_service.(follow.stream_entry, target_account) end private def follow_remote_account_service - FollowRemoteAccountService.new + @follow_remote_account_service ||= FollowRemoteAccountService.new + end + + def send_interaction_service + @send_interaction_service ||= SendInteractionService.new end end |