Files
redux-scraper/app/lib/suppressed_job.rb
2025-03-01 03:47:20 +00:00

15 lines
385 B
Ruby

# typed: strict
class SuppressedJob < T::ImmutableStruct
extend T::Sig
include T::Struct::ActsAsComparable
const :job_class, T.class_of(Scraper::JobBase)
const :params, T::Hash[Symbol, T.untyped]
sig { params(job: DeferredJob).returns(T::Boolean) }
def matches?(job)
job.job_class == job_class &&
params.all? { |key, value| job.params[key] == value }
end
end