Module: EmailHeaderMatcher
- Defined in:
- lib/runger_email_reply_trimmer/email_header_matcher.rb
Constant Summary collapse
- EMAIL_HEADERS_WITH_DATE_MARKERS =
[ # Norwegian ['Sendt'], # English ['Sent', 'Date'], # French ['Date', 'Le'], # German ['Gesendet'], # Portuguese ['Enviada em'], # Spanish ['Enviado'], # Spanish (Mexican) ['Fecha'], # Italian ['Data'], # Dutch ['Datum'], # Swedish ['Skickat'], # Chinese ['发送时间'], ].freeze
- EMAIL_HEADERS_WITH_DATE_REGEXES =
EMAIL_HEADERS_WITH_DATE_MARKERS.map do |header| /^[[:blank:]*]*(?:#{header.join('|')})[[:blank:]*]*:.*\d+/ end
- EMAIL_HEADERS_WITH_TEXT_MARKERS =
[ # Norwegian ['Fra', 'Til', 'Emne'], # English ['From', 'To', 'Cc', 'Reply-To', 'Subject'], # French ['De', 'Expéditeur', 'À', 'Destinataire', 'Répondre à', 'Objet'], # German ['Von', 'An', 'Betreff'], # Portuguese ['De', 'Para', 'Assunto'], # Spanish ['De', 'Para', 'Asunto'], # Italian ['Da', 'Risposta', 'A', 'Oggetto'], # Dutch ['Van', 'Beantwoorden - Aan', 'Aan', 'Onderwerp'], # Swedish ['Från', 'Till', 'Ämne'], # Chinese ['发件人', '收件人', '主题'], ].freeze
- EMAIL_HEADERS_WITH_TEXT_REGEXES =
EMAIL_HEADERS_WITH_TEXT_MARKERS.map do |header| /^[[:blank:]*]*(?:#{header.join('|')})[[:blank:]*]*:.*[[:word:]]+/i end
- EMAIL_HEADER_REGEXES =
[ EMAIL_HEADERS_WITH_DATE_REGEXES, EMAIL_HEADERS_WITH_TEXT_REGEXES, ].flatten
Class Method Summary collapse
Class Method Details
.match?(line) ⇒ Boolean
69 70 71 |
# File 'lib/runger_email_reply_trimmer/email_header_matcher.rb', line 69 def match?(line) EMAIL_HEADER_REGEXES.any? { |r| line =~ r } end |