after_remote_follow_request_worker.rb (737B)
- # frozen_string_literal: true
- class AfterRemoteFollowRequestWorker
- include Sidekiq::Worker
- sidekiq_options queue: 'pull', retry: 5
- attr_reader :follow_request
- def perform(follow_request_id)
- @follow_request = FollowRequest.find(follow_request_id)
- process_follow_service if processing_required?
- rescue ActiveRecord::RecordNotFound
- true
- end
- private
- def process_follow_service
- follow_request.destroy
- FollowService.new.call(follow_request.account, updated_account.acct)
- end
- def processing_required?
- !updated_account.nil? && !updated_account.locked?
- end
- def updated_account
- @_updated_account ||= FetchRemoteAccountService.new.call(follow_request.target_account.remote_url)
- end
- end