Sha256: b402c9b56ff980a5f092aa7e857153a5ad02213f6f832dd72426397c128ef16b

Contents?: true

Size: 1.09 KB

Versions: 1

Compression:

Stored size: 1.09 KB

Contents

class NamedJob < Struct.new(:perform)
  def display_name
    'named_job'
  end
end

class SimpleJob
  cattr_accessor :runs; self.runs = 0
  def perform; @@runs += 1; end
end

class ErrorJob
  cattr_accessor :runs; self.runs = 0
  def perform; raise 'did not work'; end
end             

class LongRunningJob
  def perform; sleep 250; end
end

class OnPermanentFailureJob < SimpleJob
  def on_permanent_failure
  end
end

module M
  class ModuleJob
    cattr_accessor :runs; self.runs = 0
    def perform; @@runs += 1; end    
  end
end

class SuccessfulCallbackJob
  cattr_accessor :messages

  def before(job)
    SuccessfulCallbackJob.messages << 'before perform'
  end
  
  def perform
    SuccessfulCallbackJob.messages << 'perform'
  end
  
  def after(job, error = nil)
    SuccessfulCallbackJob.messages << 'after perform'
  end
  
  def success(job)
    SuccessfulCallbackJob.messages << 'success!'
  end
  
  def failure(job, error)
    SuccessfulCallbackJob.messages << "error: #{error.class}"
  end
end

class FailureCallbackJob < SuccessfulCallbackJob
  def perform
     raise "failure job"
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
delayed_job-2.1.0.pre2 spec/sample_jobs.rb