Class: AcidicJob::Serializers::JobSerializer
- Inherits:
-
ActiveJob::Serializers::ObjectSerializer
- Object
- ActiveJob::Serializers::ObjectSerializer
- AcidicJob::Serializers::JobSerializer
- Defined in:
- lib/acidic_job/serializers/job_serializer.rb
Instance Method Summary collapse
Instance Method Details
#deserialize(hash) ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/acidic_job/serializers/job_serializer.rb', line 12 def deserialize(hash) job = ActiveJob::Base.deserialize(hash) job.send(:deserialize_arguments_if_needed) # this is a shim to ensure we can work with Ruby 2.7 as well as 3.0+ # :nocov: if job.arguments.last.is_a?(Hash) *args, kwargs = job.arguments else args = job.arguments kwargs = {} end # :nocov: job.instance_variable_set(:@__acidic_job_args, args) job.instance_variable_set(:@__acidic_job_kwargs, kwargs) job end |
#serialize(job) ⇒ Object
8 9 10 |
# File 'lib/acidic_job/serializers/job_serializer.rb', line 8 def serialize(job) super(job.serialize) end |
#serialize?(argument) ⇒ Boolean
30 31 32 |
# File 'lib/acidic_job/serializers/job_serializer.rb', line 30 def serialize?(argument) defined?(::ActiveJob::Base) && argument.class < ::ActiveJob::Base end |