# frozen_string_literal: true module Booru class LiveFeed # Push a new upload to the live feed. def self.push_upload(post) self.push_mod_feed "[Post] #{post.media_type.to_s.capitalize} ##{post.id} by #{post.author(true)} (#{post.tag_list})" # self.push_live_feed "[Post] #{post.media_type.to_s.capitalize} ##{post.id} by #{post.author(false)} (#{post.tag_list})" end def self.push_tag_change(post, culprit, tags_added, tags_removed) self.push_mod_feed "[Tags] ##{post.id} by #{culprit&.name || 'Anonymous'} ADDED: #{tags_added.map(&:name).join(',')}; REMOVED: #{tags_removed.map(&:name).join(',')}" end def self.push_source_change(post, culprit, old_source, new_source) self.push_mod_feed "[Source] #{post.id} by #{culprit&.name || 'Anonymous'} OLD: #{old_source} NEW: #{new_source}" end private def self.push_mod_feed(payload) $redis.publish('modfeed', payload) end def self.push_live_feed(payload) $redis.publish('livefeed', payload) end end end