aboutsummaryrefslogblamecommitdiffstats
path: root/activejob/test/jobs/rescue_job.rb
blob: acf2b815156596121060adc00a96d18d8fdd99e2 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
                                 



                                           




                               




                                          




                                        
class RescueJob < ActiveJob::Base
  class OtherError < StandardError; end

  rescue_from(ArgumentError) do
    $BUFFER << "rescued from ArgumentError"
    arguments[0] = "DIFFERENT!"
    retry_now
  end

  def perform(person = "david")
    case person
    when "david"
      raise ArgumentError, "Hair too good"
    when "other"
      raise OtherError
    else
      $BUFFER << "performed beautifully"
    end
  end
end