Class: Email::AuthenticationResults

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

Constant Summary collapse

VERDICT =
Enum.new(:gray, :pass, :fail, start: 0)

Instance Method Summary collapse

Constructor Details

#initialize(headers) ⇒ AuthenticationResults

Returns a new instance of AuthenticationResults.



7
8
9
10
11
# File 'lib/email/authentication_results.rb', line 7

def initialize(headers)
  @authserv_id = SiteSetting.email_in_authserv_id
  @headers = headers
  @verdict = :gray if @authserv_id.blank?
end

Instance Method Details

#actionObject



20
21
22
# File 'lib/email/authentication_results.rb', line 20

def action
  @action ||= calc_action
end

#resultsObject



13
14
15
16
17
18
# File 'lib/email/authentication_results.rb', line 13

def results
  @results ||=
    Array(@headers)
      .map { |header| parse_header(header.to_s) }
      .filter { |result| @authserv_id.blank? || @authserv_id == result[:authserv_id] }
end

#verdictObject



24
25
26
# File 'lib/email/authentication_results.rb', line 24

def verdict
  @verdict ||= calc_verdict
end