aboutsummaryrefslogblamecommitdiffstats
path: root/actionmailer/test/mailers/delayed_mailer.rb
blob: b0f5ecc2fbda348bd91a09c4d49c69d534726699 (plain) (tree)
1
2
3
4
5
6
7

                             
                              


                                             
                                        











                                                        

                     
                                                                                                                
     

                            
                                        
     
   
# frozen_string_literal: true

require "active_job/arguments"

class DelayedMailerError < StandardError; end

class DelayedMailer < ActionMailer::Base
  cattr_accessor :last_error
  cattr_accessor :last_rescue_from_instance

  rescue_from DelayedMailerError do |error|
    @@last_error = error
    @@last_rescue_from_instance = self
  end

  rescue_from ActiveJob::DeserializationError do |error|
    @@last_error = error
    @@last_rescue_from_instance = self
  end

  def test_message(*)
    mail(from: "test-sender@test.com", to: "test-receiver@test.com", subject: "Test Subject", body: "Test Body")
  end

  def test_raise(klass_name)
    raise klass_name.constantize, "boom"
  end
end