class Mailgems::DeliveryMethod
Attributes
settings[RW]
Public Class Methods
new(options = {})
click to toggle source
# File lib/mailgems/delivery_method.rb, line 12 def initialize(options = {}) options[:host] = "https://www.mailgems.com" options[:api_key] ||= Mailgems.configuration.api_key options[:sandbox] ||= Mailgems.configuration.sandbox raise InvalidOption, "Api Key is required" if options[:api_key].nil? self.settings = options end
Public Instance Methods
deliver!(mail)
click to toggle source
# File lib/mailgems/delivery_method.rb, line 22 def deliver!(mail) validate_mail!(mail) Message.new(mail, settings).send Launchy.open("#{settings[:host]}/sandbox") if settings[:sandbox] end
Private Instance Methods
validate_mail!(mail)
click to toggle source
# File lib/mailgems/delivery_method.rb, line 30 def validate_mail!(mail) if mail.smtp_envelope_from.nil? || mail.smtp_envelope_from.empty? raise ArgumentError, 'SMTP From address may not be blank' end if mail.smtp_envelope_to.nil? || mail.smtp_envelope_to.empty? raise ArgumentError, 'SMTP To address may not be blank' end end