Class: Drill::Mail::LetterOpener

Inherits:
Base
  • Object
show all
Defined in:
lib/drill/mail/letter_opener.rb

Instance Attribute Summary collapse

Attributes inherited from Base

#params

Instance Method Summary collapse

Constructor Details

#initialize(params, mail = ::Mail.new, delivery_method = ::LetterOpener::DeliveryMethod.new) ⇒ LetterOpener

Returns a new instance of LetterOpener.



12
13
14
15
16
17
18
19
20
21
# 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

Instance Attribute Details

#delivery_methodObject (readonly)

Returns the value of attribute delivery_method.



10
11
12
# File 'lib/drill/mail/letter_opener.rb', line 10

def delivery_method
  @delivery_method
end

#mailObject (readonly)

Returns the value of attribute mail.



10
11
12
# File 'lib/drill/mail/letter_opener.rb', line 10

def mail
  @mail
end

Instance Method Details

#deliverObject



23
24
25
26
27
28
29
# 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) ⇒ Object



31
32
33
# File 'lib/drill/mail/letter_opener.rb', line 31

def deliver_later(wait: nil)
  deliver
end