Class: Mail::DateField
- Inherits:
-
StructuredField
- Object
- StructuredField
- Mail::DateField
- Includes:
- CommonDate
- Defined in:
- lib/mail/fields/date_field.rb
Constant Summary collapse
- FIELD_NAME =
'date'
- CAPITALIZED_FIELD =
"Date"
Constants included from Patterns
Patterns::ATOM_UNSAFE, Patterns::CONTROL_CHAR, Patterns::CRLF, Patterns::FIELD_BODY, Patterns::FIELD_LINE, Patterns::FWS, Patterns::HEADER_LINE, Patterns::PHRASE_UNSAFE, Patterns::QP_SAFE, Patterns::QP_UNSAFE, Patterns::TEXT, Patterns::TOKEN_UNSAFE, Patterns::WSP
Instance Method Summary collapse
- #decoded ⇒ Object
- #encoded ⇒ Object
-
#initialize(value = nil, charset = 'utf-8') ⇒ DateField
constructor
A new instance of DateField.
Methods included from CommonDate
Methods inherited from StructuredField
#charset, #charset=, #default, #errors
Methods included from Utilities
#atom_safe?, #bracket, #capitalize_field, #constantize, #dasherize, #dquote, #escape_paren, #map_lines, #map_with_index, #match_to_s, #paren, #quote_atom, #quote_phrase, #quote_token, #token_safe?, #unbracket, #underscoreize, #unparen, #unquote, #uri_escape, #uri_parser, #uri_unescape
Methods included from CommonField
#default, #field_length, #name, #name=, #responsible_for?, #to_s, #value, #value=
Constructor Details
#initialize(value = nil, charset = 'utf-8') ⇒ DateField
Returns a new instance of DateField.
34 35 36 37 38 39 40 41 42 43 44 45 46 |
# File 'lib/mail/fields/date_field.rb', line 34 def initialize(value = nil, charset = 'utf-8') self.charset = charset if value.blank? value = ::DateTime.now.strftime('%a, %d %b %Y %H:%M:%S %z') else value = strip_field(FIELD_NAME, value) value.to_s.gsub!(/\(.*?\)/, '') value = ::DateTime.parse(value.to_s.squeeze(" ")).strftime('%a, %d %b %Y %H:%M:%S %z') end super(CAPITALIZED_FIELD, value, charset) rescue ArgumentError => e raise e unless "invalid date"==e. end |
Instance Method Details
#decoded ⇒ Object
52 53 54 |
# File 'lib/mail/fields/date_field.rb', line 52 def decoded do_decode end |
#encoded ⇒ Object
48 49 50 |
# File 'lib/mail/fields/date_field.rb', line 48 def encoded do_encode(CAPITALIZED_FIELD) end |