lib/lev/active_job.rb in lev-8.0.0 vs lib/lev/active_job.rb in lev-8.1.0

- old
+ new

@@ -1,49 +1,2 @@ -module Lev - module ActiveJob - class Base < Lev.configuration.job_class - attr_accessor(:provider_job_id) unless respond_to?(:provider_job_id) - - def self.perform_later(routine_class, *args, &block) - # Create a new status object - status = Lev::create_status - - # Push the routine class name on to the arguments - # so that we can run the correct routine in `perform` - args.push(routine_class.to_s) - - # Push the status's ID on to the arguments so that in `perform` - # it can be used to retrieve the status when the routine is initialized - args.push(status.id) - - # Set the job_name - status.set_job_name(routine_class.name) - - # In theory we'd mark as queued right after the call to super, but this messes - # up when the activejob adapter runs the job right away (inline mode) - status.queued! - - # Queue up the job and set the provider_job_id - # For delayed_job, requires either Rails 5 or - # http://stackoverflow.com/questions/29855768/rails-4-2-get-delayed-job-id-from-active-job - provider_job_id = job_or_instantiate(*args, &block) - .enqueue(routine_class.active_job_enqueue_options) - .provider_job_id - status.set_provider_job_id(provider_job_id) \ - if provider_job_id.present? && status.respond_to?(:set_provider_job_id) - - # Return the id of the status object - status.id - end - - def perform(*args, &block) - # Pop arguments added by perform_later - id = args.pop - routine_class = Kernel.const_get(args.pop) - - routine_instance = routine_class.new(Lev::find_status(id)) - - routine_instance.call(*args, &block) - end - end - end -end +require 'lev/active_job/base' +require 'lev/active_job/configured_job'