Class: MailHandler::Sender

Inherits:
Object
  • Object
show all
Defined in:
lib/mailhandler/sender.rb

Overview

Class for sending email, and storing details about the sending.

Direct Known Subclasses

MailHandler::Sending::PostmarkAPISender

Defined Under Namespace

Classes: Sending

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(dispatcher) ⇒ Sender

Returns a new instance of Sender.

Parameters:

    • sender type used for sending email



21
22
23
24
# File 'lib/mailhandler/sender.rb', line 21

def initialize(dispatcher)
  @dispatcher = dispatcher
  @sending = Sending.new
end

Instance Attribute Details

#dispatcherObject

Returns the value of attribute dispatcher.



10
11
12
# File 'lib/mailhandler/sender.rb', line 10

def dispatcher
  @dispatcher
end

#sendingObject

Returns the value of attribute sending.



10
11
12
# File 'lib/mailhandler/sender.rb', line 10

def sending
  @sending
end

Instance Method Details

#dispatcher_clientObject



34
35
36
# File 'lib/mailhandler/sender.rb', line 34

def dispatcher_client
  dispatcher.client if dispatcher.respond_to?(:client)
end

#send_email(email) ⇒ Object



26
27
28
29
30
31
32
# File 'lib/mailhandler/sender.rb', line 26

def send_email(email)
  init_sending_details(email)
  response = dispatcher.send(email)
  update_sending_details(response)

  response
end