rbs 3.7.0 → 3.8.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/comments.yml +3 -3
- data/.github/workflows/ruby.yml +7 -7
- data/CHANGELOG.md +68 -0
- data/core/array.rbs +1756 -1591
- data/core/basic_object.rbs +38 -35
- data/core/comparable.rbs +1 -1
- data/core/complex.rbs +166 -94
- data/core/data.rbs +1 -1
- data/core/dir.rbs +1 -17
- data/core/encoding.rbs +12 -32
- data/core/enumerable.rbs +270 -266
- data/core/enumerator.rbs +0 -2
- data/core/env.rbs +1 -1
- data/core/errno.rbs +33 -16
- data/core/errors.rbs +6 -2
- data/core/exception.rbs +235 -169
- data/core/fiber.rbs +3 -2
- data/core/file.rbs +26 -75
- data/core/float.rbs +125 -72
- data/core/gc.rbs +156 -40
- data/core/hash.rbs +122 -143
- data/core/integer.rbs +79 -50
- data/core/io/buffer.rbs +49 -43
- data/core/io.rbs +99 -146
- data/core/kernel.rbs +292 -202
- data/core/match_data.rbs +76 -2
- data/core/math.rbs +0 -36
- data/core/module.rbs +28 -23
- data/core/nil_class.rbs +2 -2
- data/core/numeric.rbs +101 -104
- data/core/object.rbs +0 -4
- data/core/object_space/weak_key_map.rbs +3 -4
- data/core/object_space.rbs +3 -3
- data/core/proc.rbs +80 -12
- data/core/process.rbs +109 -57
- data/core/ractor.rbs +54 -4
- data/core/range.rbs +114 -87
- data/core/rational.rbs +0 -2
- data/core/rbs/unnamed/argf.rbs +234 -33
- data/core/rbs/unnamed/env_class.rbs +35 -53
- data/core/rbs/unnamed/random.rbs +1 -2
- data/core/regexp.rbs +6 -54
- data/core/ruby_vm.rbs +88 -9
- data/core/rubygems/config_file.rbs +3 -0
- data/core/rubygems/errors.rbs +3 -6
- data/core/rubygems/platform.rbs +0 -9
- data/core/rubygems/rubygems.rbs +3 -6
- data/core/rubygems/version.rbs +6 -6
- data/core/set.rbs +3 -15
- data/core/string.rbs +256 -260
- data/core/struct.rbs +6 -18
- data/core/symbol.rbs +14 -21
- data/core/thread.rbs +32 -35
- data/core/time.rbs +131 -50
- data/core/trace_point.rbs +124 -113
- data/core/true_class.rbs +0 -1
- data/core/warning.rbs +9 -2
- data/docs/architecture.md +1 -1
- data/docs/syntax.md +1 -1
- data/ext/rbs_extension/location.c +29 -19
- data/ext/rbs_extension/parser.c +268 -293
- data/ext/rbs_extension/parserstate.c +56 -22
- data/lib/rbs/annotate/annotations.rb +3 -3
- data/lib/rbs/annotate/rdoc_source.rb +2 -2
- data/lib/rbs/cli/diff.rb +3 -3
- data/lib/rbs/cli/validate.rb +1 -1
- data/lib/rbs/cli.rb +13 -13
- data/lib/rbs/collection/config.rb +3 -1
- data/lib/rbs/definition_builder/ancestor_builder.rb +3 -3
- data/lib/rbs/environment_loader.rb +1 -1
- data/lib/rbs/namespace.rb +1 -0
- data/lib/rbs/parser_aux.rb +2 -2
- data/lib/rbs/prototype/rb.rb +11 -8
- data/lib/rbs/prototype/rbi.rb +9 -5
- data/lib/rbs/prototype/runtime/value_object_generator.rb +7 -5
- data/lib/rbs/prototype/runtime.rb +4 -5
- data/lib/rbs/type_name.rb +14 -9
- data/lib/rbs/types.rb +2 -1
- data/lib/rbs/unit_test/type_assertions.rb +2 -2
- data/lib/rbs/validator.rb +3 -1
- data/lib/rbs/version.rb +1 -1
- data/lib/rdoc_plugin/parser.rb +2 -2
- data/rbs.gemspec +4 -0
- data/sig/ancestor_graph.rbs +4 -4
- data/sig/namespace.rbs +2 -3
- data/sig/resolver/constant_resolver.rbs +2 -2
- data/sig/resolver/context.rbs +1 -1
- data/sig/type_alias_regularity.rbs +5 -5
- data/sig/typename.rbs +8 -5
- data/sig/use_map.rbs +1 -1
- data/sig/validator.rbs +2 -2
- data/stdlib/base64/0/base64.rbs +0 -9
- data/stdlib/benchmark/0/benchmark.rbs +11 -2
- data/stdlib/bigdecimal/0/big_decimal.rbs +26 -182
- data/stdlib/cgi/0/core.rbs +47 -0
- data/stdlib/coverage/0/coverage.rbs +0 -3
- data/stdlib/csv/0/csv.rbs +18 -58
- data/stdlib/date/0/date.rbs +27 -42
- data/stdlib/did_you_mean/0/did_you_mean.rbs +0 -5
- data/stdlib/digest/0/digest.rbs +25 -2
- data/stdlib/erb/0/erb.rbs +0 -1
- data/stdlib/etc/0/etc.rbs +51 -34
- data/stdlib/fileutils/0/fileutils.rbs +3 -44
- data/stdlib/io-console/0/io-console.rbs +69 -15
- data/stdlib/ipaddr/0/ipaddr.rbs +8 -4
- data/stdlib/json/0/json.rbs +56 -71
- data/stdlib/logger/0/log_device.rbs +1 -1
- data/stdlib/logger/0/logger.rbs +3 -18
- data/stdlib/net-http/0/net-http.rbs +39 -106
- data/stdlib/nkf/0/nkf.rbs +30 -0
- data/stdlib/objspace/0/objspace.rbs +1 -2
- data/stdlib/observable/0/observable.rbs +1 -1
- data/stdlib/open-uri/0/open-uri.rbs +52 -0
- data/stdlib/open3/0/open3.rbs +0 -8
- data/stdlib/openssl/0/openssl.rbs +136 -69
- data/stdlib/optparse/0/optparse.rbs +58 -18
- data/stdlib/pathname/0/pathname.rbs +2 -8
- data/stdlib/pp/0/pp.rbs +3 -1
- data/stdlib/prettyprint/0/prettyprint.rbs +0 -4
- data/stdlib/pstore/0/pstore.rbs +0 -6
- data/stdlib/psych/0/psych.rbs +15 -4
- data/stdlib/pty/0/pty.rbs +46 -4
- data/stdlib/rdoc/0/code_object.rbs +0 -4
- data/stdlib/rdoc/0/markup.rbs +10 -12
- data/stdlib/rdoc/0/rdoc.rbs +13 -8
- data/stdlib/resolv/0/resolv.rbs +13 -4
- data/stdlib/ripper/0/ripper.rbs +0 -2
- data/stdlib/securerandom/0/securerandom.rbs +7 -2
- data/stdlib/shellwords/0/shellwords.rbs +11 -12
- data/stdlib/singleton/0/singleton.rbs +0 -1
- data/stdlib/socket/0/addrinfo.rbs +0 -1
- data/stdlib/socket/0/basic_socket.rbs +0 -5
- data/stdlib/socket/0/socket.rbs +32 -27
- data/stdlib/socket/0/tcp_server.rbs +0 -3
- data/stdlib/socket/0/tcp_socket.rbs +36 -3
- data/stdlib/socket/0/udp_socket.rbs +0 -1
- data/stdlib/socket/0/unix_server.rbs +0 -3
- data/stdlib/strscan/0/string_scanner.rbs +1265 -422
- data/stdlib/tempfile/0/tempfile.rbs +135 -28
- data/stdlib/time/0/time.rbs +48 -35
- data/stdlib/timeout/0/timeout.rbs +11 -8
- data/stdlib/tmpdir/0/tmpdir.rbs +10 -3
- data/stdlib/tsort/0/tsort.rbs +0 -4
- data/stdlib/uri/0/common.rbs +11 -30
- data/stdlib/uri/0/ftp.rbs +1 -1
- data/stdlib/uri/0/generic.rbs +22 -18
- data/stdlib/uri/0/http.rbs +2 -2
- data/stdlib/uri/0/rfc2396_parser.rbs +3 -0
- data/stdlib/zlib/0/buf_error.rbs +1 -70
- data/stdlib/zlib/0/data_error.rbs +1 -70
- data/stdlib/zlib/0/deflate.rbs +8 -72
- data/stdlib/zlib/0/error.rbs +1 -70
- data/stdlib/zlib/0/gzip_file/crc_error.rbs +2 -105
- data/stdlib/zlib/0/gzip_file/error.rbs +2 -105
- data/stdlib/zlib/0/gzip_file/length_error.rbs +2 -105
- data/stdlib/zlib/0/gzip_file/no_footer.rbs +2 -105
- data/stdlib/zlib/0/gzip_file.rbs +1 -71
- data/stdlib/zlib/0/gzip_reader.rbs +3 -74
- data/stdlib/zlib/0/gzip_writer.rbs +1 -70
- data/stdlib/zlib/0/inflate.rbs +4 -71
- data/stdlib/zlib/0/mem_error.rbs +1 -70
- data/stdlib/zlib/0/need_dict.rbs +1 -70
- data/stdlib/zlib/0/stream_end.rbs +1 -70
- data/stdlib/zlib/0/stream_error.rbs +1 -70
- data/stdlib/zlib/0/version_error.rbs +1 -70
- data/stdlib/zlib/0/zlib.rbs +0 -2
- data/stdlib/zlib/0/zstream.rbs +4 -72
- metadata +3 -6
data/core/time.rbs
CHANGED
@@ -45,6 +45,42 @@
|
|
45
45
|
# A `Time` object derived from the system clock (for example, by method
|
46
46
|
# Time.now) has the resolution supported by the system.
|
47
47
|
#
|
48
|
+
# ## Time Internal Representation
|
49
|
+
#
|
50
|
+
# Time implementation uses a signed 63 bit integer, Integer, or Rational. It is
|
51
|
+
# a number of nanoseconds since the *Epoch*. The signed 63 bit integer can
|
52
|
+
# represent 1823-11-12 to 2116-02-20. When Integer or Rational is used (before
|
53
|
+
# 1823, after 2116, under nanosecond), Time works slower than when the signed 63
|
54
|
+
# bit integer is used.
|
55
|
+
#
|
56
|
+
# Ruby uses the C function `localtime` and `gmtime` to map between the number
|
57
|
+
# and 6-tuple (year,month,day,hour,minute,second). `localtime` is used for local
|
58
|
+
# time and "gmtime" is used for UTC.
|
59
|
+
#
|
60
|
+
# Integer and Rational has no range limit, but the localtime and gmtime has
|
61
|
+
# range limits due to the C types `time_t` and `struct tm`. If that limit is
|
62
|
+
# exceeded, Ruby extrapolates the localtime function.
|
63
|
+
#
|
64
|
+
# The Time class always uses the Gregorian calendar. I.e. the proleptic
|
65
|
+
# Gregorian calendar is used. Other calendars, such as Julian calendar, are not
|
66
|
+
# supported.
|
67
|
+
#
|
68
|
+
# `time_t` can represent 1901-12-14 to 2038-01-19 if it is 32 bit signed
|
69
|
+
# integer, -292277022657-01-27 to 292277026596-12-05 if it is 64 bit signed
|
70
|
+
# integer. However `localtime` on some platforms doesn't supports negative
|
71
|
+
# `time_t` (before 1970).
|
72
|
+
#
|
73
|
+
# `struct tm` has *tm_year* member to represent years. (`tm_year = 0` means the
|
74
|
+
# year 1900.) It is defined as `int` in the C standard. *tm_year* can represent
|
75
|
+
# between -2147481748 to 2147485547 if `int` is 32 bit.
|
76
|
+
#
|
77
|
+
# Ruby supports leap seconds as far as if the C function `localtime` and
|
78
|
+
# `gmtime` supports it. They use the tz database in most Unix systems. The tz
|
79
|
+
# database has timezones which supports leap seconds. For example, "Asia/Tokyo"
|
80
|
+
# doesn't support leap seconds but "right/Asia/Tokyo" supports leap seconds. So,
|
81
|
+
# Ruby supports leap seconds if the TZ environment variable is set to
|
82
|
+
# "right/Asia/Tokyo" in most Unix systems.
|
83
|
+
#
|
48
84
|
# ## Examples
|
49
85
|
#
|
50
86
|
# All of these examples were done using the EST timezone which is GMT-5.
|
@@ -127,16 +163,14 @@
|
|
127
163
|
# * Inherits from [class Object](rdoc-ref:Object@What-27s+Here).
|
128
164
|
# * Includes [module Comparable](rdoc-ref:Comparable@What-27s+Here).
|
129
165
|
#
|
130
|
-
#
|
131
166
|
# Here, class `Time` provides methods that are useful for:
|
132
167
|
#
|
133
|
-
# *
|
134
|
-
# *
|
135
|
-
# *
|
136
|
-
# *
|
137
|
-
# *
|
138
|
-
# *
|
139
|
-
#
|
168
|
+
# * [Creating Time objects](rdoc-ref:Time@Methods+for+Creating).
|
169
|
+
# * [Fetching Time values](rdoc-ref:Time@Methods+for+Fetching).
|
170
|
+
# * [Querying a Time object](rdoc-ref:Time@Methods+for+Querying).
|
171
|
+
# * [Comparing Time objects](rdoc-ref:Time@Methods+for+Comparing).
|
172
|
+
# * [Converting a Time object](rdoc-ref:Time@Methods+for+Converting).
|
173
|
+
# * [Rounding a Time](rdoc-ref:Time@Methods+for+Rounding).
|
140
174
|
#
|
141
175
|
# ### Methods for Creating
|
142
176
|
#
|
@@ -150,7 +184,6 @@
|
|
150
184
|
# * #+ (plus): Returns a new time increased by the given number of seconds.
|
151
185
|
# * #- (minus): Returns a new time decreased by the given number of seconds.
|
152
186
|
#
|
153
|
-
#
|
154
187
|
# ### Methods for Fetching
|
155
188
|
#
|
156
189
|
# * #year: Returns the year of the time.
|
@@ -175,7 +208,6 @@
|
|
175
208
|
# * #to_r: Returns the Rational number of seconds since epoch for the time.
|
176
209
|
# * #zone: Returns a string representation of the timezone of the time.
|
177
210
|
#
|
178
|
-
#
|
179
211
|
# ### Methods for Querying
|
180
212
|
#
|
181
213
|
# * #utc? (aliased as #gmt?): Returns whether the time is UTC.
|
@@ -189,13 +221,11 @@
|
|
189
221
|
# * #friday?: Returns whether time is a Friday.
|
190
222
|
# * #saturday?: Returns whether the time is a Saturday.
|
191
223
|
#
|
192
|
-
#
|
193
224
|
# ### Methods for Comparing
|
194
225
|
#
|
195
226
|
# * #<=>: Compares `self` to another time.
|
196
227
|
# * #eql?: Returns whether the time is equal to another time.
|
197
228
|
#
|
198
|
-
#
|
199
229
|
# ### Methods for Converting
|
200
230
|
#
|
201
231
|
# * #asctime (aliased as #ctime): Returns the time as a string.
|
@@ -210,14 +240,12 @@
|
|
210
240
|
# * #deconstruct_keys: Returns a hash of time components used in
|
211
241
|
# pattern-matching.
|
212
242
|
#
|
213
|
-
#
|
214
243
|
# ### Methods for Rounding
|
215
244
|
#
|
216
245
|
# * #round:Returns a new time with subseconds rounded.
|
217
246
|
# * #ceil: Returns a new time with subseconds raised to a ceiling.
|
218
247
|
# * #floor: Returns a new time with subseconds lowered to a floor.
|
219
248
|
#
|
220
|
-
#
|
221
249
|
# For the forms of argument `zone`, see [Timezone
|
222
250
|
# Specifiers](rdoc-ref:Time@Timezone+Specifiers).
|
223
251
|
#
|
@@ -231,7 +259,6 @@
|
|
231
259
|
# * Time#getlocal: positional argument `zone`.
|
232
260
|
# * Time#localtime: positional argument `zone`.
|
233
261
|
#
|
234
|
-
#
|
235
262
|
# The value given with any of these must be one of the following (each detailed
|
236
263
|
# below):
|
237
264
|
#
|
@@ -241,7 +268,6 @@
|
|
241
268
|
# * [Timezone object](rdoc-ref:Time@Timezone+Objects).
|
242
269
|
# * [Timezone name](rdoc-ref:Time@Timezone+Names).
|
243
270
|
#
|
244
|
-
#
|
245
271
|
# ### Hours/Minutes Offsets
|
246
272
|
#
|
247
273
|
# The zone value may be a string offset from UTC in the form `'+HH:MM'` or
|
@@ -250,7 +276,6 @@
|
|
250
276
|
# * `HH` is the 2-digit hour in the range `0..23`.
|
251
277
|
# * `MM` is the 2-digit minute in the range `0..59`.
|
252
278
|
#
|
253
|
-
#
|
254
279
|
# Examples:
|
255
280
|
#
|
256
281
|
# t = Time.utc(2000, 1, 1, 20, 15, 1) # => 2000-01-01 20:15:01 UTC
|
@@ -289,22 +314,33 @@
|
|
289
314
|
#
|
290
315
|
# * `local_to_utc`:
|
291
316
|
#
|
292
|
-
#
|
293
|
-
#
|
294
|
-
#
|
295
|
-
#
|
296
|
-
#
|
317
|
+
# Called when Time.new is invoked with `tz` as the value of positional
|
318
|
+
# argument `zone` or keyword argument `in:`.
|
319
|
+
#
|
320
|
+
# Argument
|
321
|
+
# : a [Time-like object](rdoc-ref:Time@Time-Like+Objects).
|
322
|
+
#
|
323
|
+
# Returns
|
324
|
+
# : a [Time-like object](rdoc-ref:Time@Time-Like+Objects) in the UTC
|
325
|
+
# timezone.
|
297
326
|
#
|
298
327
|
#
|
299
328
|
# * `utc_to_local`:
|
300
329
|
#
|
301
|
-
#
|
302
|
-
#
|
303
|
-
#
|
304
|
-
#
|
305
|
-
#
|
306
|
-
#
|
330
|
+
# Called when Time.at or Time.now is invoked with `tz` as the value for
|
331
|
+
# keyword argument `in:`, and when Time#getlocal or Time#localtime is called
|
332
|
+
# with `tz` as the value for positional argument `zone`.
|
333
|
+
#
|
334
|
+
# The UTC offset will be calculated as the difference between the original
|
335
|
+
# time and the returned object as an `Integer`. If the object is in fixed
|
336
|
+
# offset, its `utc_offset` is also counted.
|
337
|
+
#
|
338
|
+
# Argument
|
339
|
+
# : a [Time-like object](rdoc-ref:Time@Time-Like+Objects).
|
307
340
|
#
|
341
|
+
# Returns
|
342
|
+
# : a [Time-like object](rdoc-ref:Time@Time-Like+Objects) in the local
|
343
|
+
# timezone.
|
308
344
|
#
|
309
345
|
#
|
310
346
|
# A custom timezone class may have these instance methods, which will be called
|
@@ -312,26 +348,37 @@
|
|
312
348
|
#
|
313
349
|
# * `abbr`:
|
314
350
|
#
|
315
|
-
#
|
316
|
-
#
|
317
|
-
#
|
351
|
+
# Called when Time#strftime is invoked with a format involving `%Z`.
|
352
|
+
#
|
353
|
+
# Argument
|
354
|
+
# : a [Time-like object](rdoc-ref:Time@Time-Like+Objects).
|
355
|
+
#
|
356
|
+
# Returns
|
357
|
+
# : a string abbreviation for the timezone name.
|
318
358
|
#
|
319
359
|
#
|
320
360
|
# * `dst?`:
|
321
361
|
#
|
322
|
-
#
|
323
|
-
#
|
324
|
-
#
|
325
|
-
#
|
326
|
-
#
|
362
|
+
# Called when Time.at or Time.now is invoked with `tz` as the value for
|
363
|
+
# keyword argument `in:`, and when Time#getlocal or Time#localtime is called
|
364
|
+
# with `tz` as the value for positional argument `zone`.
|
365
|
+
#
|
366
|
+
# Argument
|
367
|
+
# : a [Time-like object](rdoc-ref:Time@Time-Like+Objects).
|
368
|
+
#
|
369
|
+
# Returns
|
370
|
+
# : whether the time is daylight saving time.
|
327
371
|
#
|
328
372
|
#
|
329
373
|
# * `name`:
|
330
374
|
#
|
331
|
-
#
|
332
|
-
#
|
333
|
-
#
|
375
|
+
# Called when `Marshal.dump(t)` is invoked
|
376
|
+
#
|
377
|
+
# Argument
|
378
|
+
# : none.
|
334
379
|
#
|
380
|
+
# Returns
|
381
|
+
# : the string name of the timezone.
|
335
382
|
#
|
336
383
|
#
|
337
384
|
# #### `Time`-Like Objects
|
@@ -358,7 +405,6 @@
|
|
358
405
|
# * `isdst`
|
359
406
|
# * `to_i`
|
360
407
|
#
|
361
|
-
#
|
362
408
|
# For a returned `Integer`, its components, decomposed in UTC, are interpreted
|
363
409
|
# as times in the specified timezone.
|
364
410
|
#
|
@@ -424,7 +470,6 @@ class Time < Object
|
|
424
470
|
# * A numeric number of [Epoch seconds](rdoc-ref:Time@Epoch+Seconds) for the
|
425
471
|
# returned time.
|
426
472
|
#
|
427
|
-
#
|
428
473
|
# Examples:
|
429
474
|
#
|
430
475
|
# t = Time.new(2000, 12, 31, 23, 59, 59) # => 2000-12-31 23:59:59 -0600
|
@@ -460,7 +505,6 @@ class Time < Object
|
|
460
505
|
# Time.at(secs, 1000000000, :nanosecond) # => 2001-01-01 00:00:00 -0600
|
461
506
|
# Time.at(secs, -1000000000, :nanosecond) # => 2000-12-31 23:59:58 -0600
|
462
507
|
#
|
463
|
-
#
|
464
508
|
# Optional keyword argument `in: zone` specifies the timezone for the returned
|
465
509
|
# time:
|
466
510
|
#
|
@@ -527,7 +571,6 @@ class Time < Object
|
|
527
571
|
# Time.utc(2000, 1, 1, 0, 0, 0, 0) # => 2000-01-01 00:00:00 UTC
|
528
572
|
# Time.utc(2000, 1, 1, 0, 0, 0, 999999) # => 2000-01-01 00:00:00.999999 UTC
|
529
573
|
#
|
530
|
-
#
|
531
574
|
# The values may be:
|
532
575
|
#
|
533
576
|
# * Integers, as above.
|
@@ -542,7 +585,6 @@ class Time < Object
|
|
542
585
|
# # => ["0", "1", "1", "0", "0", "0", "0", "0"]
|
543
586
|
# Time.utc(*a) # => 0000-01-01 00:00:00 UTC
|
544
587
|
#
|
545
|
-
#
|
546
588
|
# When exactly ten arguments are given, the arguments are interpreted as in the
|
547
589
|
# second calling sequence above:
|
548
590
|
#
|
@@ -659,7 +701,6 @@ class Time < Object
|
|
659
701
|
# Time.utc(2000, 1, 1, 0, 0, 0, 0) # => 2000-01-01 00:00:00 UTC
|
660
702
|
# Time.utc(2000, 1, 1, 0, 0, 0, 999999) # => 2000-01-01 00:00:00.999999 UTC
|
661
703
|
#
|
662
|
-
#
|
663
704
|
# The values may be:
|
664
705
|
#
|
665
706
|
# * Integers, as above.
|
@@ -674,7 +715,6 @@ class Time < Object
|
|
674
715
|
# # => ["0", "1", "1", "0", "0", "0", "0", "0"]
|
675
716
|
# Time.utc(*a) # => 0000-01-01 00:00:00 UTC
|
676
717
|
#
|
677
|
-
#
|
678
718
|
# When exactly ten arguments are given, the arguments are interpreted as in the
|
679
719
|
# second calling sequence above:
|
680
720
|
#
|
@@ -756,7 +796,6 @@ class Time < Object
|
|
756
796
|
# * `1`, if `self` is greater then `other_time`.
|
757
797
|
# * `nil`, if `self` and `other_time` are incomparable.
|
758
798
|
#
|
759
|
-
#
|
760
799
|
# Examples:
|
761
800
|
#
|
762
801
|
# t = Time.now # => 2007-11-19 08:12:12 -0600
|
@@ -1066,7 +1105,6 @@ class Time < Object
|
|
1066
1105
|
# Time.new(2000, 1, 1, 0, 0, 59.5) # => 2000-12-31 23:59:59.5 +0900
|
1067
1106
|
# Time.new(2000, 1, 1, 0, 0, 59.7r) # => 2000-12-31 23:59:59.7 +0900
|
1068
1107
|
#
|
1069
|
-
#
|
1070
1108
|
# These values may be:
|
1071
1109
|
#
|
1072
1110
|
# * Integers, as above.
|
@@ -1081,7 +1119,6 @@ class Time < Object
|
|
1081
1119
|
# # => ["0", "1", "1", "0", "0", "0"]
|
1082
1120
|
# Time.new(*a) # => 0000-01-01 00:00:00 -0600
|
1083
1121
|
#
|
1084
|
-
#
|
1085
1122
|
# When positional argument `zone` or keyword argument `in:` is given, the new
|
1086
1123
|
# `Time` object is in the specified timezone. For the forms of argument `zone`,
|
1087
1124
|
# see [Timezone Specifiers](rdoc-ref:Time@Timezone+Specifiers):
|
@@ -1138,6 +1175,25 @@ class Time < Object
|
|
1138
1175
|
#
|
1139
1176
|
def isdst: () -> bool
|
1140
1177
|
|
1178
|
+
# <!-- rdoc-file=lib/time.rb -->
|
1179
|
+
# Parses `time` as a dateTime defined by the XML Schema and converts it to a
|
1180
|
+
# Time object. The format is a restricted version of the format defined by ISO
|
1181
|
+
# 8601.
|
1182
|
+
#
|
1183
|
+
# ArgumentError is raised if `time` is not compliant with the format or if the
|
1184
|
+
# Time class cannot represent the specified time.
|
1185
|
+
#
|
1186
|
+
# See #xmlschema for more information on this format.
|
1187
|
+
#
|
1188
|
+
# require 'time'
|
1189
|
+
#
|
1190
|
+
# Time.xmlschema("2011-10-05T22:26:12-04:00")
|
1191
|
+
# #=> 2011-10-05 22:26:12-04:00
|
1192
|
+
#
|
1193
|
+
# You must require 'time' to use this method.
|
1194
|
+
#
|
1195
|
+
alias iso8601 xmlschema
|
1196
|
+
|
1141
1197
|
# <!--
|
1142
1198
|
# rdoc-file=time.c
|
1143
1199
|
# - localtime -> self or new_time
|
@@ -1151,7 +1207,6 @@ class Time < Object
|
|
1151
1207
|
# t = Time.utc(2000, 1, 1, 20, 15, 1) # => 2000-01-01 20:15:01 UTC
|
1152
1208
|
# t.localtime # => 2000-01-01 14:15:01 -0600
|
1153
1209
|
#
|
1154
|
-
#
|
1155
1210
|
# With argument `zone` given, returns the new `Time` object created by
|
1156
1211
|
# converting `self` to the given time zone:
|
1157
1212
|
#
|
@@ -1550,6 +1605,32 @@ class Time < Object
|
|
1550
1605
|
#
|
1551
1606
|
def wednesday?: () -> bool
|
1552
1607
|
|
1608
|
+
# <!--
|
1609
|
+
# rdoc-file=lib/time.rb
|
1610
|
+
# - xmlschema(fraction_digits=0)
|
1611
|
+
# -->
|
1612
|
+
# Returns a string which represents the time as a dateTime defined by XML
|
1613
|
+
# Schema:
|
1614
|
+
#
|
1615
|
+
# CCYY-MM-DDThh:mm:ssTZD
|
1616
|
+
# CCYY-MM-DDThh:mm:ss.sssTZD
|
1617
|
+
#
|
1618
|
+
# where TZD is Z or [+-]hh:mm.
|
1619
|
+
#
|
1620
|
+
# If self is a UTC time, Z is used as TZD. [+-]hh:mm is used otherwise.
|
1621
|
+
#
|
1622
|
+
# `fraction_digits` specifies a number of digits to use for fractional seconds.
|
1623
|
+
# Its default value is 0.
|
1624
|
+
#
|
1625
|
+
# require 'time'
|
1626
|
+
#
|
1627
|
+
# t = Time.now
|
1628
|
+
# t.iso8601 # => "2011-10-05T22:26:12-04:00"
|
1629
|
+
#
|
1630
|
+
# You must require 'time' to use this method.
|
1631
|
+
#
|
1632
|
+
def xmlschema: () -> String
|
1633
|
+
|
1553
1634
|
# <!--
|
1554
1635
|
# rdoc-file=time.c
|
1555
1636
|
# - yday -> integer
|