Module: DateUtcParser
- Defined in:
- lib/date_utc_parser.rb,
lib/date_utc_parser/version.rb
Constant Summary collapse
- VERSION =
"1.1.2"
Class Method Summary collapse
- .iso8601_humanized_pattern ⇒ Object
- .iso8601_pattern ⇒ Object
- .parse(date) ⇒ Object
- .parse_from_string(time) ⇒ Object
- .parse_from_time(date) ⇒ Object
Class Method Details
.iso8601_humanized_pattern ⇒ Object
25 26 27 |
# File 'lib/date_utc_parser.rb', line 25 def self.iso8601_humanized_pattern "YYYY-MM-DDTmm:dd:ssZ" end |
.iso8601_pattern ⇒ Object
www.w3.org/TR/NOTE-datetime tools.ietf.org/html/rfc3339
example: 1994-11-05T13:15:30Z
21 22 23 |
# File 'lib/date_utc_parser.rb', line 21 def self.iso8601_pattern /\A\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}Z\Z/ end |
.parse(date) ⇒ Object
5 6 7 |
# File 'lib/date_utc_parser.rb', line 5 def self.parse(date) date.is_a?(Time) ? parse_from_time(date) : parse_from_string(date) end |
.parse_from_string(time) ⇒ Object
9 10 11 12 13 14 |
# File 'lib/date_utc_parser.rb', line 9 def self.parse_from_string(time) parsed_time = Time.parse(time) if time parsed_time if parsed_time && (time =~ iso8601_pattern || parsed_time.utc?) rescue ArgumentError # date could not be parsed end |
.parse_from_time(date) ⇒ Object
29 30 31 |
# File 'lib/date_utc_parser.rb', line 29 def self.parse_from_time(date) date.utc end |