class Newgistics::TimeParsers::ISO8601

Public Instance Methods

parse(string) click to toggle source
# File lib/newgistics/time_parsers/iso8601.rb, line 4
def parse(string)
  date = string.dup
  unless includes_timezone?(string)
    date << Newgistics.time_zone.utc_offset
  end
  parse_date(date, string)
end

Private Instance Methods

includes_timezone?(value) click to toggle source
# File lib/newgistics/time_parsers/iso8601.rb, line 20
def includes_timezone?(value)
  value =~ /Z|[+-]\d{2}:\d{2}\z/
end
parse_date(date, fallback) click to toggle source
# File lib/newgistics/time_parsers/iso8601.rb, line 14
def parse_date(date, fallback)
  Time.iso8601(date).getlocal(Newgistics.local_time_zone.utc_offset)
rescue ArgumentError
  fallback
end