1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

Time.xmlschema: Clarify error and docs

It parses a (date)time, not a date.
This commit is contained in:
Henrik Nyh and Tomas Skogberg 2020-04-20 16:10:37 +01:00 committed by Hiroshi SHIBATA
parent da484c3187
commit fdb31aa7ab
Notes: git 2020-05-23 09:43:28 +09:00

View file

@ -590,12 +590,12 @@ class Time
end
#
# Parses +date+ as a dateTime defined by the XML Schema and converts it to
# Parses +time+ as a dateTime defined by the XML Schema and converts it to
# a Time object. The format is a restricted version of the format defined
# by ISO 8601.
#
# ArgumentError is raised if +date+ is not compliant with the format or if
# the Time class cannot represent specified date.
# ArgumentError is raised if +time+ is not compliant with the format or if
# the Time class cannot represent the specified time.
#
# See #xmlschema for more information on this format.
#
@ -606,14 +606,14 @@ class Time
#
# You must require 'time' to use this method.
#
def xmlschema(date)
def xmlschema(time)
if /\A\s*
(-?\d+)-(\d\d)-(\d\d)
T
(\d\d):(\d\d):(\d\d)
(\.\d+)?
(Z|[+-]\d\d(?::?\d\d)?)?
\s*\z/ix =~ date
\s*\z/ix =~ time
year = $1.to_i
mon = $2.to_i
day = $3.to_i
@ -636,7 +636,7 @@ class Time
self.local(year, mon, day, hour, min, sec, usec)
end
else
raise ArgumentError.new("invalid date: #{date.inspect}")
raise ArgumentError.new("invalid xmlschema format: #{time.inspect}")
end
end
alias iso8601 xmlschema