Class: Airmail::Controller

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

Direct Known Subclasses

AirmailDefaultController

Instance Method Summary collapse

Constructor Details

#initialize(mail, raw_mail) ⇒ Controller

Returns a new instance of Controller.



3
4
5
6
# File 'lib/airmail/mail_controller.rb', line 3

def initialize(mail, raw_mail)
  @mail = mail
  @raw_mail = raw_mail
end

Instance Method Details

#attachmentsObject



39
40
41
# File 'lib/airmail/mail_controller.rb', line 39

def attachments
  @mail.attachments
end

#fromObject



8
9
10
11
12
13
14
15
16
# File 'lib/airmail/mail_controller.rb', line 8

def from
  return @from if @from

  @from = if @mail.from.is_a? Array
    @mail.from.first
  else
    @mail.from
  end
end

#headersObject



26
27
28
# File 'lib/airmail/mail_controller.rb', line 26

def headers
  @mail.header
end

#reference_idObject



30
31
32
33
34
35
36
37
# File 'lib/airmail/mail_controller.rb', line 30

def reference_id
  reference_id = headers['Reference-ID'].is_a?(Array) && headers['Reference-ID'].last.value
  reference_id ||= headers['Reference-ID'] && headers['Reference-ID'].value 
  reference_id ||= headers['References'] && headers['References'].value

  reference_id = headers['Message-ID'] if reference_id.blank? 
  reference_id
end

#subjectObject



22
23
24
# File 'lib/airmail/mail_controller.rb', line 22

def subject
  @mail.subject
end

#toObject



18
19
20
# File 'lib/airmail/mail_controller.rb', line 18

def to
  @to ||= Array.wrap(@mail.to) + Array.wrap(@mail.cc)
end