21 lines
677 B
Ruby
21 lines
677 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
|