Class: Mail::EnvelopeFromElement

Inherits:
Object
  • Object
show all
Defined in:
lib/mail/elements/envelope_from_element.rb

Overview

:nodoc:

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(string) ⇒ EnvelopeFromElement

Returns a new instance of EnvelopeFromElement.


10
11
12
13
14
# File 'lib/mail/elements/envelope_from_element.rb', line 10

def initialize(string)
  envelope_from = Mail::Parsers::EnvelopeFromParser.parse(string)
  @address = envelope_from.address
  @date_time = ::DateTime.parse(envelope_from.ctime_date) if envelope_from.ctime_date
end

Instance Attribute Details

#addressObject (readonly)

Returns the value of attribute address


8
9
10
# File 'lib/mail/elements/envelope_from_element.rb', line 8

def address
  @address
end

#date_timeObject (readonly)

Returns the value of attribute date_time


8
9
10
# File 'lib/mail/elements/envelope_from_element.rb', line 8

def date_time
  @date_time
end

Instance Method Details

#formatted_date_timeObject

RFC 4155:

a timestamp indicating the UTC date and time when the message
was originally received, conformant with the syntax of the
traditional UNIX 'ctime' output sans timezone (note that the
use of UTC precludes the need for a timezone indicator);

21
22
23
24
25
26
27
28
29
# File 'lib/mail/elements/envelope_from_element.rb', line 21

def formatted_date_time
  if date_time
    if date_time.respond_to?(:ctime)
      date_time.ctime
    else
      date_time.strftime '%a %b %e %T %Y'
    end
  end
end

#to_sObject


31
32
33
34
35
36
37
# File 'lib/mail/elements/envelope_from_element.rb', line 31

def to_s
  if date_time
    "#{address} #{formatted_date_time}"
  else
    address
  end
end