Class: DeliveryUncle::SendEmailRequest

Inherits:
Object
  • Object
show all
Defined in:
app/workers/delivery_uncle/send_email_request.rb

Class Method Summary collapse

Class Method Details

.perform(request_id) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'app/workers/delivery_uncle/send_email_request.rb', line 5

def self.perform(request_id)
  request = DeliveryUncle::EmailRequest.find(request_id)
  
  return if request.paused? || EmailQueue.not_allowed?(request)
  request.save_status!(:processing)
  
  begin 
    mail = request.mail
    method = ActionMailer::Base.delivery_method
    mail.delivery_method method, ActionMailer::Base.send(:"#{method}_settings")
    mail.deliver
    request.save_status!(:sent)
  rescue => e
    request.save_status!(:error_when_deliver)
    raise e
  end
end