Class: WorkerSerializer

Inherits:
ActiveJob::Serializers::ObjectSerializer
  • Object
show all
Defined in:
lib/acidic_job/serializer.rb

Instance Method Summary collapse

Instance Method Details

#deserialize(hash) ⇒ Object



16
17
18
19
# File 'lib/acidic_job/serializer.rb', line 16

def deserialize(hash)
  worker_class = hash["class"].constantize
  worker_class.new(*hash["args"], **hash["kwargs"])
end

#serialize(worker) ⇒ Object



8
9
10
11
12
13
14
# File 'lib/acidic_job/serializer.rb', line 8

def serialize(worker)
  super(
    "class" => worker.class.name,
    "args" => worker.instance_variable_get(:@__acidic_job_args),
    "kwargs" => worker.instance_variable_get(:@__acidic_job_kwargs)
  )
end

#serialize?(argument) ⇒ Boolean

Returns:

  • (Boolean)


21
22
23
# File 'lib/acidic_job/serializer.rb', line 21

def serialize?(argument)
  defined?(::Sidekiq) && argument.class.include?(::Sidekiq::Worker)
end