class MailCannon::Barrel
This worker handles Envelopes dispatch
Public Instance Methods
perform(envelope_id)
click to toggle source
# File lib/mailcannon/workers/barrel.rb, line 5 def perform(envelope_id) envelope_id = envelope_id['$oid'] if envelope_id['$oid'] shoot!(envelope_id) end
Private Instance Methods
shoot!(envelope_id)
click to toggle source
# File lib/mailcannon/workers/barrel.rb, line 11 def shoot!(envelope_id) logger.info "sending MailCannon::Envelope.find('#{envelope_id}')" begin envelope = MailCannon::Envelope.find(envelope_id.to_s) if envelope.valid? response = envelope.send! unless response==true raise response end end rescue Mongoid::Errors::DocumentNotFound logger.error "unable to find the document MailCannon::Envelope.find('#{envelope_id}')" raise Mongoid::Errors::DocumentNotFound rescue Exception => e logger.error "unable to send MailCannon::Envelope.find('#{envelope_id}') #{e} #{e.backtrace}" raise e end end