lib/routemaster/jobs/job.rb
require 'routemaster/jobs'
module Routemaster
module Jobs
class Job
class << self
def data_for(job_class, args)
{ 'class' => job_class.to_s, 'args' => args }
end
def execute(job_data)
job = create_job(job_data)
job.new.perform(*job_data['args'])
end
private
def create_job(job_data)
job_class = job_data['class']
Kernel.const_get(job_class)
end
end
end
end
end