module DateUtcParser

Constants

VERSION

Public Class Methods

iso8601_humanized_pattern() click to toggle source
# File lib/date_utc_parser.rb, line 25
def self.iso8601_humanized_pattern
  "YYYY-MM-DDTmm:dd:ssZ"
end
iso8601_pattern() click to toggle source

www.w3.org/TR/NOTE-datetime tools.ietf.org/html/rfc3339

example: 1994-11-05T13:15:30Z

# 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) click to toggle source
# 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) click to toggle source
# 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) click to toggle source
# File lib/date_utc_parser.rb, line 29
def self.parse_from_time(date)
  date.utc
end