Class: Griddler::Sparkpost::Adapter

Inherits:
Object
  • Object
show all
Defined in:
lib/griddler/sparkpost/adapter.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(params) ⇒ Adapter

Returns a new instance of Adapter.



6
7
8
# File 'lib/griddler/sparkpost/adapter.rb', line 6

def initialize(params)
  @params = params
end

Class Method Details

.normalize_params(params) ⇒ Object



10
11
12
13
# File 'lib/griddler/sparkpost/adapter.rb', line 10

def self.normalize_params(params)
  adapter = new(params)
  adapter.normalize_params
end

Instance Method Details

#normalize_paramsObject



15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/griddler/sparkpost/adapter.rb', line 15

def normalize_params
  msg = params['_json'][0]['msys']['relay_message']
  content = msg['content']
  mail = Mail.read_from_string(content['email_rfc822'])
  params.merge(
    to: content['to'],
    from: msg['msg_from'],
    cc: content['cc'].nil? ? [] : content['cc'],
    subject: content['subject'],
    text: content['text'],
    html: content['html'],
    headers: headers_raw(content['headers']), # spec calls for raw headers, so convert back
    attachments: attachment_files(mail)
  )
end