Class: Broadcast::DeliveryMethod

Inherits:
Object
  • Object
show all
Defined in:
lib/broadcast/delivery_method.rb

Instance Method Summary collapse

Constructor Details

#initialize(settings = {}) ⇒ DeliveryMethod

Returns a new instance of DeliveryMethod.



5
6
7
# File 'lib/broadcast/delivery_method.rb', line 5

def initialize(settings = {})
  @client = Client.new(**settings)
end

Instance Method Details

#deliver!(mail) ⇒ Object



9
10
11
12
13
14
15
16
17
18
# File 'lib/broadcast/delivery_method.rb', line 9

def deliver!(mail)
  @client.send_email(
    to: mail.to&.first,
    subject: mail.subject,
    body: extract_body(mail),
    reply_to: mail.reply_to&.first
  )
rescue Broadcast::Error => e
  raise DeliveryError, "Failed to deliver email: #{e.message}"
end