listminut/use_cases

View on GitHub
lib/use_cases/step_adapters/enqueue.rb

Summary

Maintainability
A
0 mins
Test Coverage
# frozen_string_literal: true

module UseCases
  module StepAdapters
    class Enqueue < UseCases::StepAdapters::Tee
      def do_call(*base_args)
        args = [object.class.name, name.to_s, *base_args]
        args = ::UseCases::StepActiveJobAdapter.serialize_step_arguments(args)

        job_options = options.slice(:queue, :wait, :wait_until, :priority)

        ::UseCases::StepActiveJobAdapter.set(job_options).perform_later(*args)

        Success(previous_step_result.value)
      end
    end
  end
end