module ActiveJob::Core

def deserialize_arguments(serialized_args)

def deserialize_arguments(serialized_args)
  Arguments.deserialize(serialized_args)
end

def deserialize_arguments_if_needed

def deserialize_arguments_if_needed
  if defined?(@serialized_arguments) && @serialized_arguments.present?
    @arguments = deserialize_arguments(@serialized_arguments)
    @serialized_arguments = nil
  end
end

def initialize(*arguments)

will be passed to the perform method.
Creates a new job instance. Takes as arguments the arguments that
def initialize(*arguments)
  @arguments  = arguments
  @job_id     = SecureRandom.uuid
  @queue_name = self.class.queue_name
end

def serialize

queueing adapter.
Returns a hash with the job data that can safely be passed to the
def serialize
  {
    'job_class'  => self.class.name,
    'job_id'     => job_id,
    'queue_name' => queue_name,
    'arguments'  => serialize_arguments(arguments)
  }
end

def serialize_arguments(serialized_args)

def serialize_arguments(serialized_args)
  Arguments.serialize(serialized_args)
end