Sha256: 650438d109616fad2e89001842cb7c7fa5467879119c10679713cbd6cf158672

Contents?: true

Size: 1.43 KB

Versions: 15

Compression:

Stored size: 1.43 KB

Contents

# encoding: utf-8
# 
# = Date Field
# 
# The Date field inherits from StructuredField and handles the Date: header
# field in the email.
# 
# Sending date to a mail message will instantiate a Mail::Field object that
# has a DateField as it's field type.  This includes all Mail::CommonAddress
# module instance methods.
# 
# There must be excatly one Date field in an RFC2822 email.
# 
# == Examples:
# 
#  mail = Mail.new
#  mail.date = 'Mon, 24 Nov 1997 14:22:01 -0800'
#  mail.date    #=> '#<Mail::Field:0x180e5e8 @field=#<Mail::DateField:0x180e1c4
#  mail[:date]  #=> '#<Mail::Field:0x180e5e8 @field=#<Mail::DateField:0x180e1c4
#  mail['date'] #=> '#<Mail::Field:0x180e5e8 @field=#<Mail::DateField:0x180e1c4
#  mail['Date'] #=> '#<Mail::Field:0x180e5e8 @field=#<Mail::DateField:0x180e1c4
# 
#  mail.date.to_s  #=> 'Mon, 24 Nov 1997 14:22:01 -0800'
#  mail.date.date_time #=> #<DateTime: 211747170121/86400,-1/3,2299161>
# 
module Mail
  class DateField < StructuredField
    
    include Mail::CommonDate
    
    FIELD_NAME = 'date'
    CAPITALIZED_FIELD = "Date"
    
    def initialize(*args)
      if args.last.blank?
        self.name = CAPITALIZED_FIELD
        self.value = Time.now.strftime('%a, %d %b %Y %H:%M:%S %z')
        self
      else
        super(CAPITALIZED_FIELD, strip_field(FIELD_NAME, args.last))
      end
    end
    
    def encoded
      do_encode(CAPITALIZED_FIELD)
    end
    
    def decoded
      do_decode
    end
    
  end
end

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
mail-1.4.3 lib/mail/fields/date_field.rb
mail-1.4.2 lib/mail/fields/date_field.rb
mail-1.4.1 lib/mail/fields/date_field.rb
mail-1.4.0 lib/mail/fields/date_field.rb
mail-1.3.5 lib/mail/fields/date_field.rb
mail-1.3.4 lib/mail/fields/date_field.rb
mail-1.3.3 lib/mail/fields/date_field.rb
mail-1.3.2 lib/mail/fields/date_field.rb
mail-1.3.1 lib/mail/fields/date_field.rb
mail-1.3.0 lib/mail/fields/date_field.rb
mail-1.2.9 lib/mail/fields/date_field.rb
mail-1.2.8 lib/mail/fields/date_field.rb
mail-1.2.6 lib/mail/fields/date_field.rb
mail-1.2.5 ./lib/mail/fields/date_field.rb
mail-1.2.1 ./lib/mail/fields/date_field.rb