class Mail::Message

Public Instance Methods

body_in_utf8() click to toggle source
# File lib/extended_email_reply_parser/mail/message.rb, line 10
def body_in_utf8
  require 'charlock_holmes/string'
  body = self.body.decoded
  if body.present?
    encoding = body.detect_encoding[:encoding]
    body = body.force_encoding(encoding).encode('UTF-8')
  end
  return body
end
extract_html() click to toggle source
# File lib/extended_email_reply_parser/mail/message.rb, line 24
def extract_html
  (self.html_part || (self if self.content_type.include?('text/html'))).try(:body_in_utf8)
end
extract_html_body_content() click to toggle source
# File lib/extended_email_reply_parser/mail/message.rb, line 32
def extract_html_body_content
  # http://stackoverflow.com/a/356376/2066546
  extract_html.match(/(.*<\s*body[^>]*>)(.*)(<\s*\/\s*body\s*\>.+)/m)[2] || extract_html
end
extract_text() click to toggle source
# File lib/extended_email_reply_parser/mail/message.rb, line 20
def extract_text
  (self.text_part || (self if self.content_type.include?('text/plain'))).try(:body_in_utf8)
end
extract_text_or_html() click to toggle source
# File lib/extended_email_reply_parser/mail/message.rb, line 28
def extract_text_or_html
  extract_text || extract_html_body_content
end
parse() click to toggle source
# File lib/extended_email_reply_parser/mail/message.rb, line 37
def parse
  ExtendedEmailReplyParser.parse self
end