module Galakei::Email

Constants

GALAKEI_EMAIL_ADDRESS_PATTERNS
SANITIZE_OPTIONS
TAGS_TO_PROCESS
VERSION

Public Class Methods

galakei_email_address?(email) click to toggle source
# File lib/galakei/email.rb, line 32
def self.galakei_email_address?(email)
  GALAKEI_EMAIL_ADDRESS_PATTERNS.any?{|p| p =~ email }
end
to_galakei_email(html_email) click to toggle source
# File lib/galakei/email.rb, line 36
def self.to_galakei_email(html_email)
  doc = Nokogiri::HTML(html_email)
  doc.css(TAGS_TO_PROCESS).each do |node|
    node.name = "div"
    node.after("<br />")
  end
  #empty the <head>
  doc.css("head").each do |node|
    node.unlink
  end
  doc.css("img").each do |node|
    if node['src'] !~ /^cid:/
      node.after(doc.create_text_node(node['alt'])) if node['alt'].present?
      node.unlink
    end
  end
  encoding = doc.meta_encoding || "UTF-8"
  res = "<html><head>"
  res << "<meta http-equiv=\"Content-type\" content=\"text/html;charset=#{encoding}\" />"
  res << "</head><body>"
  res << Sanitize.clean(doc.to_s, SANITIZE_OPTIONS)
  res << "</body></html>"
end