module ActiveJob::Core

Public Class Methods

new(*arguments) click to toggle source

Creates a new job instance. Takes the arguments that will be passed to the perform method.

# File lib/active_job/core.rb, line 55
def initialize(*arguments)
  @arguments  = arguments
  @job_id     = SecureRandom.uuid
  @queue_name = self.class.queue_name
end

Public Instance Methods

serialize() click to toggle source

Returns a hash with the job data that can safely be passed to the queueing adapter.

# File lib/active_job/core.rb, line 63
def serialize
  {
    'job_class'  => self.class.name,
    'job_id'     => job_id,
    'queue_name' => queue_name,
    'arguments'  => serialize_arguments(arguments)
  }
end

Private Instance Methods

deserialize_arguments(serialized_args) click to toggle source
# File lib/active_job/core.rb, line 84
def deserialize_arguments(serialized_args)
  Arguments.deserialize(serialized_args)
end
deserialize_arguments_if_needed() click to toggle source
# File lib/active_job/core.rb, line 73
def deserialize_arguments_if_needed
  if defined?(@serialized_arguments) && @serialized_arguments.present?
    @arguments = deserialize_arguments(@serialized_arguments)
    @serialized_arguments = nil
  end
end
serialize_arguments(serialized_args) click to toggle source
# File lib/active_job/core.rb, line 80
def serialize_arguments(serialized_args)
  Arguments.serialize(serialized_args)
end