# frozen_string_literal: true
class FeedInsertWorker
include Sidekiq::Worker
attr_reader :status, :follower
def perform(status_id, follower_id)
@status = Status.find_by(id: status_id)
@follower = Account.find_by(id: follower_id)
check_and_insert
end
private
def check_and_insert
if records_available?
perform_push unless feed_filtered?
else
true
def records_available?
status.present? && follower.present?
def feed_filtered?
FeedManager.instance.filter?(:home, status, follower.id)
def perform_push
FeedManager.instance.push(:home, follower, status)