Module: ActiveJob::Temporal::ConfiguredConditionalEnqueue

Defined in:
lib/activejob/temporal/conditional_enqueue.rb

Overview

Adds conditional enqueue helpers to ActiveJob configured jobs.

Instance Method Summary collapse

Instance Method Details

#perform_later_if(condition, *arguments, **keyword_arguments) ⇒ Object



41
42
43
44
45
46
47
# File 'lib/activejob/temporal/conditional_enqueue.rb', line 41

def perform_later_if(condition, *arguments, **keyword_arguments, &)
  job_class = instance_variable_get(:@job_class)
  condition_arguments = ConditionalEnqueue.job_arguments(arguments, keyword_arguments)
  return nil unless ConditionalEnqueue.condition_allows_enqueue?(job_class, condition, condition_arguments)

  perform_later(*arguments, **keyword_arguments, &)
end