docbrown/app/workers/follows/create_chat_channel_worker.rb

15 lines
475 B
Ruby

module Follows
class CreateChatChannelWorker
include Sidekiq::Worker
sidekiq_options queue: :medium_priority, retry: 10
def perform(follow_id)
follow = Follow
.includes(:follower, :followable)
.find_by(id: follow_id, follower_type: "User", followable_type: "User")
return unless follow&.followable&.following?(follow.follower)
ChatChannels::CreateWithUsers.call(users: [follow.followable, follow.follower])
end
end
end