Class: JobSerializer

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

Instance Method Summary collapse

Instance Method Details

#deserialize(hash) ⇒ Object



31
32
33
34
35
36
37
38
39
40
41
42
43
44
# File 'lib/acidic_job/serializer.rb', line 31

def deserialize(hash)
  job = ActiveJob::Base.deserialize(hash)
  job.send(:deserialize_arguments_if_needed)
  if job.arguments.last.is_a?(Hash)
    *args, kwargs = job.arguments
  else
    args = job.arguments
    kwargs = {}
  end
  job.instance_variable_set(:@__acidic_job_args, args)
  job.instance_variable_set(:@__acidic_job_kwargs, kwargs)

  job
end

#serialize(job) ⇒ Object



27
28
29
# File 'lib/acidic_job/serializer.rb', line 27

def serialize(job)
  super(job.serialize)
end

#serialize?(argument) ⇒ Boolean

Returns:

  • (Boolean)


46
47
48
# File 'lib/acidic_job/serializer.rb', line 46

def serialize?(argument)
  defined?(::ActiveJob::Base) && argument.class < ::ActiveJob::Base
end