Class: OrderUp::Resque::JsonJob

Inherits:
Object
  • Object
show all
Defined in:
lib/order_up/resque.rb

Class Method Summary collapse

Class Method Details

.deserialize(job_data) ⇒ Object



29
30
31
32
33
34
35
36
37
# File 'lib/order_up/resque.rb', line 29

def self.deserialize(job_data)
  data = JSON.parse(job_data)
  class_name = data.delete(ENCAPSULATED_CLASS)
  class_name.constantize.allocate.tap do |obj|
    data.each do |key, value|
      obj.instance_variable_set(:"@#{key}", value)
    end
  end
end

.perform(job_data) ⇒ Object



22
23
24
# File 'lib/order_up/resque.rb', line 22

def self.perform(job_data)
  deserialize(job_data).run
end

.serialize(job) ⇒ Object



25
26
27
# File 'lib/order_up/resque.rb', line 25

def self.serialize(job)
  job.as_json.merge(ENCAPSULATED_CLASS => job.class.name).to_json
end