class Mail2cb::MessageIdHandler
Public Class Methods
new(email)
click to toggle source
# File lib/mail2cb/message_id_handler.rb, line 4 def initialize(email) @email = email @content = EmailContent.new(@email) end
Public Instance Methods
from_body()
click to toggle source
# File lib/mail2cb/message_id_handler.rb, line 37 def from_body find_in_content(@content.html) || find_in_content(@content.text) end
from_headers()
click to toggle source
# File lib/mail2cb/message_id_handler.rb, line 31 def from_headers references.reverse.detect{|id| find_in_content(id) } end
from_subject()
click to toggle source
# File lib/mail2cb/message_id_handler.rb, line 34 def from_subject find_in_content(@email.subject) end
hash()
click to toggle source
# File lib/mail2cb/message_id_handler.rb, line 14 def hash if message_id match = /([a-z]*?)\.([a-z0-9]*?)\.([a-z0-9]*?)@mail.caseblocks.com/.match(message_id) if match if match[1] == "conversation" {"conversation_id" => match[2]} elsif match[1] == "case" {"case_id" => match[2]} else {match[1] => match[2]} end end else {} end end
message_id()
click to toggle source
# File lib/mail2cb/message_id_handler.rb, line 10 def message_id from_headers || from_subject || from_body end
references()
click to toggle source
# File lib/mail2cb/message_id_handler.rb, line 40 def references refs = @email.header["References"] begin if refs && refs.field.errors.empty? return refs.field.element.message_ids end rescue ap @email.header["References"] end [] end
Private Instance Methods
find_in_content(content)
click to toggle source
# File lib/mail2cb/message_id_handler.rb, line 53 def find_in_content(content) match = /([a-z]*?)\.([a-z0-9]*?)\.([a-z0-9]*?)@mail.caseblocks.com/.match(content) if match match[0] else false end end