Sha256: 30ffc61f4eed837a2a30f2f31c3b96398363c111a11730ca46f3012b53737578
Contents?: true
Size: 1.47 KB
Versions: 4
Compression:
Stored size: 1.47 KB
Contents
# encoding: utf-8 # # trace = [return] # 1*received # # return = "Return-Path:" path CRLF # # path = ([CFWS] "<" ([CFWS] / addr-spec) ">" [CFWS]) / # obs-path # # received = "Received:" name-val-list ";" date-time CRLF # # name-val-list = [CFWS] [name-val-pair *(CFWS name-val-pair)] # # name-val-pair = item-name CFWS item-value # # item-name = ALPHA *(["-"] (ALPHA / DIGIT)) # # item-value = 1*angle-addr / addr-spec / # atom / domain / msg-id # module Mail class ReceivedField < StructuredField FIELD_NAME = 'received' CAPITALIZED_FIELD = 'Received' def initialize(*args) super(CAPITALIZED_FIELD, strip_field(FIELD_NAME, args.last)) self.parse self end def parse(val = value) unless val.blank? @element = Mail::ReceivedElement.new(val) end end def element @element ||= Mail::ReceivedElement.new(value) end def date_time @datetime ||= ::DateTime.parse("#{element.date_time}") end def info element.info end def formatted_date date_time.strftime("%a, %d %b %Y %H:%M:%S ") + date_time.zone.delete(':') end def encoded "#{CAPITALIZED_FIELD}: #{info}; #{formatted_date}\r\n" end def decoded "#{info}; #{formatted_date}" end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
mail-2.1.5.3 | lib/mail/fields/received_field.rb |
mail-2.1.5.2 | lib/mail/fields/received_field.rb |
mail-2.1.5.1 | lib/mail/fields/received_field.rb |
mail-2.1.5 | lib/mail/fields/received_field.rb |