docbrown/app/workers/reactions/bust_reactable_cache_worker.rb

20 lines
660 B
Ruby

module Reactions
class BustReactableCacheWorker
include Sidekiq::Worker
sidekiq_options queue: :high_priority, retry: 10
def perform(reaction_id)
reaction = Reaction.find_by(id: reaction_id)
return unless reaction&.reactable
CacheBuster.bust reaction.user.path
if reaction.reactable_type == "Article"
CacheBuster.bust "/reactions?article_id=#{reaction.reactable_id}"
elsif reaction.reactable_type == "Comment"
path = "/reactions?commentable_id=#{reaction.reactable.commentable_id}&commentable_type=#{reaction.reactable.commentable_type}"
CacheBuster.bust(path)
end
end
end
end