Sha256: 20d853b29baf4070496276c9388b286551a30655446e9929eeafae3a15c9b8dd
Contents?: true
Size: 1.57 KB
Versions: 2
Compression:
Stored size: 1.57 KB
Contents
# frozen_string_literal: true module EmailHeaderMatcher module_function 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 def match?(line) EMAIL_HEADER_REGEXES.any? { |r| line =~ r } end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
runger_email_reply_trimmer-0.2.2 | lib/runger_email_reply_trimmer/email_header_matcher.rb |
runger_email_reply_trimmer-0.2.1 | lib/runger_email_reply_trimmer/email_header_matcher.rb |