Sha256: aea37babb2f191f319e0e31daea4f5540e5ef10f85c274e0a28e892ed2e21708

Contents?: true

Size: 559 Bytes

Versions: 1

Compression:

Stored size: 559 Bytes

Contents

module Delayed
  class JobWrapper # rubocop:disable Betterment/ActiveJobPerformable
    attr_accessor :job_data

    delegate_missing_to :job

    def initialize(job_data)
      @job_data = job_data
    end

    def display_name
      job_data['job_class']
    end

    def perform
      ActiveJob::Callbacks.run_callbacks(:execute) do
        job.perform_now
      end
    end

    def encode_with(coder)
      coder['job_data'] = @job_data
    end

    private

    def job
      @job ||= ActiveJob::Base.deserialize(job_data) if job_data
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
delayed-0.5.2 lib/delayed/job_wrapper.rb