class Drill::Mail::LetterOpener
Attributes
delivery_method[R]
mail[R]
Public Class Methods
new( params, mail = ::Mail.new, delivery_method = ::LetterOpener::DeliveryMethod.new )
click to toggle source
Calls superclass method
Drill::Base::new
# File lib/drill/mail/letter_opener.rb, line 12 def initialize( params, mail = ::Mail.new, delivery_method = ::LetterOpener::DeliveryMethod.new ) super(params) @mail = mail @delivery_method = delivery_method end
Public Instance Methods
deliver()
click to toggle source
# File lib/drill/mail/letter_opener.rb, line 23 def deliver return if params.skip_delivery prepare_mail! delivery_method.deliver!(mail) end
deliver_later(wait: nil)
click to toggle source
# File lib/drill/mail/letter_opener.rb, line 31 def deliver_later(wait: nil) deliver end
Private Instance Methods
prepare_mail!()
click to toggle source
# File lib/drill/mail/letter_opener.rb, line 37 def prepare_mail! mail.to = Array(params.to) + Array(params.cc) mail.from = params.from_email mail.sender = params.from_name mail.reply_to = params.reply_to mail.content_type = 'text/html' mail.body = render_html end
render_html()
click to toggle source
# File lib/drill/mail/letter_opener.rb, line 46 def render_html template_name = params.template_name merge_vars = params.vars.each.with_object([]) do |(name, content), arr| arr << { name: name.to_s.upcase, content: content } end Drill.client.templates.render(template_name, [], merge_vars)['html'] end