Class: MailHandler::Handler

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

Overview

main handler class for creating sender, receiver handlers

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#receiverObject

Returns the value of attribute receiver.



86
87
88
# File 'lib/mailhandler.rb', line 86

def receiver
  @receiver
end

#senderObject

Returns the value of attribute sender.



86
87
88
# File 'lib/mailhandler.rb', line 86

def sender
  @sender
end

Instance Method Details

#handler(sender, receiver) ⇒ Object



116
117
118
119
120
121
# File 'lib/mailhandler.rb', line 116

def handler(sender, receiver)
  handler = new
  handler.sender = sender
  handler.receiver = receiver
  handler
end

#init_receiver(type = :folder, settings = {}) ⇒ Object



102
103
104
105
106
107
108
109
110
111
112
113
114
# File 'lib/mailhandler.rb', line 102

def init_receiver(type = :folder, settings = {})
  verify_type(type, CHECKER_TYPES)
  receiver = MailHandler::Receiver.new(CHECKER_TYPES[type].new)

  settings.each do |setting_name, setting_value|
    if receiver.checker.respond_to?(setting_name)
      receiver.checker.instance_variable_set("@#{setting_name}", setting_value)
    end
  end

  add_receiving_notifications(receiver, settings[:notifications])
  @receiver = receiver
end

#init_sender(type = :postmark_api, settings = {}) ⇒ Object



89
90
91
92
93
94
95
96
97
98
99
100
# File 'lib/mailhandler.rb', line 89

def init_sender(type = :postmark_api, settings = {})
  verify_type(type, SENDER_TYPES)
  @sender = MailHandler::Sender.new(SENDER_TYPES[type].new)

  settings.each do |setting_name, setting_value|
    if @sender.dispatcher.respond_to?(setting_name)
      @sender.dispatcher.instance_variable_set("@#{setting_name}", setting_value)
    end
  end

  @sender
end