module ActiveJob::Enqueuing::ClassMethods

def job_or_instantiate(*args) # :doc:

:doc:
def job_or_instantiate(*args) # :doc:
  args.first.is_a?(self) ? args.first : new(*args)
end

def perform_later(*args)

Job#arguments.
Returns an instance of the job class queued with arguments available in

custom serializers.
GlobalID::Identification instances, although this can be extended by adding
Hash, ActiveSupport::HashWithIndifferentAccess, Array or
Time, DateTime, ActiveSupport::TimeWithZone, ActiveSupport::Duration,
Integer, Float, NilClass, TrueClass, FalseClass, BigDecimal, Symbol, Date,
Push a job onto the queue. By default the arguments must be either String,
def perform_later(*args)
  job_or_instantiate(*args).enqueue
end