Module: SignatureMatcher

Defined in:
lib/runger_email_reply_trimmer/signature_matcher.rb

Constant Summary collapse

SIGNATURE_REGEXES =

Envoyé depuis mon iPhone Von meinem Mobilgerät gesendet Diese Nachricht wurde von meinem Android-Mobiltelefon mit K-9 Mail gesendet. Nik from mobile From My Iphone 6 Sent via mobile Sent with Airmail Sent from Windows Mail Sent from my TI-85 <<sent by galaxy>> (sent from a phone) (Sent from mobile device) 從我的 iPhone 傳送

[
  # Chinese
  /^[[:blank:]]*從我的 iPhone 傳送/i,
  # English
  /^[[:blank:]]*[[:word:]]+ from mobile/i,
  /^[[:blank:]]*[(<]*Sent (from|via|with|by) .+[)>]*/i,
  /^[[:blank:]]*From my .{1,20}/i,
  /^[[:blank:]]*Get Outlook for /i,
  # French
  /^[[:blank:]]*Envoyé depuis (mon|Yahoo Mail)/i,
  # German
  /^[[:blank:]]*Von meinem .+ gesendet/i,
  /^[[:blank:]]*Diese Nachricht wurde von .+ gesendet/i,
  # Italian
  /^[[:blank:]]*Inviato da /i,
  # Norwegian
  /^[[:blank:]]*Sendt fra min /i,
  # Portuguese
  /^[[:blank:]]*Enviado do meu /i,
  # Spanish
  /^[[:blank:]]*Enviado desde mi /i,
  # Dutch
  /^[[:blank:]]*Verzonden met /i,
  /^[[:blank:]]*Verstuurd vanaf mijn /i,
  # Swedish
  /^[[:blank:]]*från min /i,
].freeze

Class Method Summary collapse

Class Method Details

.match?(line) ⇒ Boolean

Returns:

  • (Boolean)


47
48
49
50
51
# File 'lib/runger_email_reply_trimmer/signature_matcher.rb', line 47

def match?(line)
  # remove any markdown links
  stripped = line.gsub(/\[([^\]]+)\]\([^)]+\)/) { ::Regexp.last_match(1) }
  SIGNATURE_REGEXES.any? { |r| stripped =~ r }
end