Class: SendGridActionMailerAdapter::Converters::Personalizations

Inherits:
Object
  • Object
show all
Defined in:
lib/sendgrid_actionmailer_adapter/converters/personalizations.rb

Instance Method Summary collapse

Instance Method Details

#assign_attributes(sendgrid_mail, value) ⇒ Object



26
27
28
29
30
# File 'lib/sendgrid_actionmailer_adapter/converters/personalizations.rb', line 26

def assign_attributes(sendgrid_mail, value)
  Array(value).each do |personalization|
    sendgrid_mail.add_personalization(personalization)
  end
end

#convert(mail) ⇒ Object



16
17
18
19
20
21
22
23
24
# File 'lib/sendgrid_actionmailer_adapter/converters/personalizations.rb', line 16

def convert(mail)
  # Separate emails per each To address.
  # Cc and Bcc addresses are shared with each emails.
  cc_addrs = mail[:cc]&.addrs
  bcc_addrs = mail[:bcc]&.addrs
  mail[:to].addrs.map do |to_addr|
    to_personalization(to_addr, cc_addrs, bcc_addrs)
  end
end

#validate(mail) ⇒ Object



8
9
10
11
12
13
14
# File 'lib/sendgrid_actionmailer_adapter/converters/personalizations.rb', line 8

def validate(mail)
  error_messages = []
  if mail.to_addrs.empty?
    error_messages << "'to_addrs' must not be empty."
  end
  error_messages
end