Class: HttpMailer::MandrillServiceHandler

Inherits:
ServiceHandler show all
Defined in:
lib/http_mailer/mandrill/mandrill_service_handler.rb

Instance Attribute Summary collapse

Attributes inherited from ServiceHandler

#service_api, #service_configuration

Instance Method Summary collapse

Methods inherited from ServiceHandler

#configured?

Constructor Details

#initialize(settings) ⇒ MandrillServiceHandler

Returns a new instance of MandrillServiceHandler.



5
6
7
8
# File 'lib/http_mailer/mandrill/mandrill_service_handler.rb', line 5

def initialize(settings)
  super(settings)
  @service_api = ::HttpMailer::MandrillServiceApi.new(self.service_configuration.settings.host)
end

Instance Attribute Details

#sevice_apiObject

Returns the value of attribute sevice_api.



3
4
5
# File 'lib/http_mailer/mandrill/mandrill_service_handler.rb', line 3

def sevice_api
  @sevice_api
end

Instance Method Details

#send_message(from, to, subject, text, from_name = '', to_name = '') ⇒ Object



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/http_mailer/mandrill/mandrill_service_handler.rb', line 10

def send_message(from, to, subject, text, from_name='', to_name='')
  message = MandrillMessage.new(from, to, subject, text, nil, from_name, to_name)
  payload = {
    :key => self.service_configuration.settings.api_key,
    :message => message.to_h
  }.to_json

  ::RestClient.post(self.service_api.send_messages_url, payload,
    :content_type => :json,
    :accept => :json
  )
rescue => e
  puts e.inspect
  e.response
end