Class: ChainMail::Delivery

Inherits:
Object
  • Object
show all
Defined in:
lib/chain_mail/delivery.rb

Instance Method Summary collapse

Constructor Details

#initialize(values = {}) ⇒ Delivery

Returns a new instance of Delivery.



5
6
7
8
# File 'lib/chain_mail/delivery.rb', line 5

def initialize(values = {})
  # values can include any ActionMailer options like :to, :from, :subject
  @settings = values
end

Instance Method Details

#deliver!(mail) ⇒ Object

Called by Rails ActionMailer



11
12
13
14
15
16
17
# File 'lib/chain_mail/delivery.rb', line 11

def deliver!(mail)
  validate_mail!(mail)
  results = try_providers(mail)
  return unless results.none? { |r| r[:success] }

  handle_delivery_errors(mail, results)
end