rbs 3.8.0.pre.1 → 3.8.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -5,7 +5,7 @@
5
5
  #
6
6
  # * You need both dates and times; Date handles only dates.
7
7
  # * You need only Gregorian dates (and not Julian dates); see [Julian and
8
- # Gregorian Calendars](rdoc-ref:calendars.rdoc).
8
+ # Gregorian Calendars](rdoc-ref:date/calendars.rdoc).
9
9
  #
10
10
  # A Date object, once created, is immutable, and cannot be modified.
11
11
  #
@@ -88,7 +88,7 @@ class Date
88
88
  # number of days in the month; when the argument is negative, counts backward
89
89
  # from the end of the month.
90
90
  #
91
- # See argument [start](rdoc-ref:calendars.rdoc@Argument+start).
91
+ # See argument [start](rdoc-ref:date/calendars.rdoc@Argument+start).
92
92
  #
93
93
  # Related: Date.jd.
94
94
  #
@@ -309,7 +309,7 @@ class Date
309
309
  # Date.commercial(2020, 1, 1).to_s # => "2019-12-30"
310
310
  # Date.commercial(2020, 1, 7).to_s # => "2020-01-05"
311
311
  #
312
- # See argument [start](rdoc-ref:calendars.rdoc@Argument+start).
312
+ # See argument [start](rdoc-ref:date/calendars.rdoc@Argument+start).
313
313
  #
314
314
  # Related: Date.jd, Date.new, Date.ordinal.
315
315
  #
@@ -343,7 +343,7 @@ class Date
343
343
  #
344
344
  # See:
345
345
  #
346
- # * Argument [start](rdoc-ref:calendars.rdoc@Argument+start).
346
+ # * Argument [start](rdoc-ref:date/calendars.rdoc@Argument+start).
347
347
  # * Argument [limit](rdoc-ref:Date@Argument+limit).
348
348
  #
349
349
  # Related: Date._httpdate (returns a hash).
@@ -364,7 +364,7 @@ class Date
364
364
  #
365
365
  # See:
366
366
  #
367
- # * Argument [start](rdoc-ref:calendars.rdoc@Argument+start).
367
+ # * Argument [start](rdoc-ref:date/calendars.rdoc@Argument+start).
368
368
  # * Argument [limit](rdoc-ref:Date@Argument+limit).
369
369
  #
370
370
  # Related: Date._iso8601 (returns a hash).
@@ -393,7 +393,7 @@ class Date
393
393
  #
394
394
  # Date.jd(Date::ITALY - 1).julian? # => true
395
395
  #
396
- # See argument [start](rdoc-ref:calendars.rdoc@Argument+start).
396
+ # See argument [start](rdoc-ref:date/calendars.rdoc@Argument+start).
397
397
  #
398
398
  # Related: Date.new.
399
399
  #
@@ -417,7 +417,7 @@ class Date
417
417
  #
418
418
  # See:
419
419
  #
420
- # * Argument [start](rdoc-ref:calendars.rdoc@Argument+start).
420
+ # * Argument [start](rdoc-ref:date/calendars.rdoc@Argument+start).
421
421
  # * Argument [limit](rdoc-ref:Date@Argument+limit).
422
422
  #
423
423
  # Related: Date._jisx0301 (returns a hash).
@@ -480,7 +480,7 @@ class Date
480
480
  #
481
481
  # Raises an exception if `yday` is zero or out of range.
482
482
  #
483
- # See argument [start](rdoc-ref:calendars.rdoc@Argument+start).
483
+ # See argument [start](rdoc-ref:date/calendars.rdoc@Argument+start).
484
484
  #
485
485
  # Related: Date.jd, Date.new.
486
486
  #
@@ -510,7 +510,7 @@ class Date
510
510
  #
511
511
  # See:
512
512
  #
513
- # * Argument [start](rdoc-ref:calendars.rdoc@Argument+start).
513
+ # * Argument [start](rdoc-ref:date/calendars.rdoc@Argument+start).
514
514
  # * Argument [limit](rdoc-ref:Date@Argument+limit).
515
515
  #
516
516
  # Related: Date._parse (returns a hash).
@@ -531,7 +531,7 @@ class Date
531
531
  #
532
532
  # See:
533
533
  #
534
- # * Argument [start](rdoc-ref:calendars.rdoc@Argument+start).
534
+ # * Argument [start](rdoc-ref:date/calendars.rdoc@Argument+start).
535
535
  # * Argument [limit](rdoc-ref:Date@Argument+limit).
536
536
  #
537
537
  # Related: Date._rfc2822 (returns a hash).
@@ -551,7 +551,7 @@ class Date
551
551
  #
552
552
  # See:
553
553
  #
554
- # * Argument [start](rdoc-ref:calendars.rdoc@Argument+start).
554
+ # * Argument [start](rdoc-ref:date/calendars.rdoc@Argument+start).
555
555
  # * Argument [limit](rdoc-ref:Date@Argument+limit).
556
556
  #
557
557
  # Related: Date._rfc3339 (returns a hash).
@@ -572,7 +572,7 @@ class Date
572
572
  #
573
573
  # See:
574
574
  #
575
- # * Argument [start](rdoc-ref:calendars.rdoc@Argument+start).
575
+ # * Argument [start](rdoc-ref:date/calendars.rdoc@Argument+start).
576
576
  # * Argument [limit](rdoc-ref:Date@Argument+limit).
577
577
  #
578
578
  # Related: Date._rfc2822 (returns a hash).
@@ -598,7 +598,7 @@ class Date
598
598
  # Times](rdoc-ref:strftime_formatting.rdoc). (Unlike Date.strftime, does not
599
599
  # support flags and width.)
600
600
  #
601
- # See argument [start](rdoc-ref:calendars.rdoc@Argument+start).
601
+ # See argument [start](rdoc-ref:date/calendars.rdoc@Argument+start).
602
602
  #
603
603
  # See also [strptime(3)](https://man7.org/linux/man-pages/man3/strptime.3.html).
604
604
  #
@@ -614,7 +614,7 @@ class Date
614
614
  #
615
615
  # Date.today.to_s # => "2022-07-06"
616
616
  #
617
- # See argument [start](rdoc-ref:calendars.rdoc@Argument+start).
617
+ # See argument [start](rdoc-ref:date/calendars.rdoc@Argument+start).
618
618
  #
619
619
  def self.today: (?Integer start) -> Date
620
620
 
@@ -629,7 +629,7 @@ class Date
629
629
  # Date.valid_date?(2001, 2, 29) # => false
630
630
  # Date.valid_date?(2001, 2, -1) # => true
631
631
  #
632
- # See argument [start](rdoc-ref:calendars.rdoc@Argument+start).
632
+ # See argument [start](rdoc-ref:date/calendars.rdoc@Argument+start).
633
633
  #
634
634
  # Related: Date.jd, Date.new.
635
635
  #
@@ -647,7 +647,7 @@ class Date
647
647
  #
648
648
  # See Date.commercial.
649
649
  #
650
- # See argument [start](rdoc-ref:calendars.rdoc@Argument+start).
650
+ # See argument [start](rdoc-ref:date/calendars.rdoc@Argument+start).
651
651
  #
652
652
  # Related: Date.jd, Date.commercial.
653
653
  #
@@ -664,7 +664,7 @@ class Date
664
664
  # Date.valid_date?(2001, 2, 29) # => false
665
665
  # Date.valid_date?(2001, 2, -1) # => true
666
666
  #
667
- # See argument [start](rdoc-ref:calendars.rdoc@Argument+start).
667
+ # See argument [start](rdoc-ref:date/calendars.rdoc@Argument+start).
668
668
  #
669
669
  # Related: Date.jd, Date.new.
670
670
  #
@@ -679,7 +679,7 @@ class Date
679
679
  #
680
680
  # Date.valid_jd?(2451944) # => true
681
681
  #
682
- # See argument [start](rdoc-ref:calendars.rdoc@Argument+start).
682
+ # See argument [start](rdoc-ref:date/calendars.rdoc@Argument+start).
683
683
  #
684
684
  # Related: Date.jd.
685
685
  #
@@ -695,7 +695,7 @@ class Date
695
695
  # Date.valid_ordinal?(2001, 34) # => true
696
696
  # Date.valid_ordinal?(2001, 366) # => false
697
697
  #
698
- # See argument [start](rdoc-ref:calendars.rdoc@Argument+start).
698
+ # See argument [start](rdoc-ref:date/calendars.rdoc@Argument+start).
699
699
  #
700
700
  # Related: Date.jd, Date.ordinal.
701
701
  #
@@ -714,7 +714,7 @@ class Date
714
714
  #
715
715
  # See:
716
716
  #
717
- # * Argument [start](rdoc-ref:calendars.rdoc@Argument+start).
717
+ # * Argument [start](rdoc-ref:date/calendars.rdoc@Argument+start).
718
718
  # * Argument [limit](rdoc-ref:Date@Argument+limit).
719
719
  #
720
720
  # Related: Date._xmlschema (returns a hash).
@@ -1225,7 +1225,7 @@ class Date
1225
1225
  # d1 = d0.new_start(Date::JULIAN)
1226
1226
  # d1.julian? # => true
1227
1227
  #
1228
- # See argument [start](rdoc-ref:calendars.rdoc@Argument+start).
1228
+ # See argument [start](rdoc-ref:date/calendars.rdoc@Argument+start).
1229
1229
  #
1230
1230
  def new_start: (?Integer start) -> Date
1231
1231
 
@@ -1322,7 +1322,7 @@ class Date
1322
1322
  #
1323
1323
  # See:
1324
1324
  #
1325
- # * Argument [start](rdoc-ref:calendars.rdoc@Argument+start).
1325
+ # * Argument [start](rdoc-ref:date/calendars.rdoc@Argument+start).
1326
1326
  # * Argument [limit](rdoc-ref:Date@Argument+limit).
1327
1327
  #
1328
1328
  # Related: Date._rfc2822 (returns a hash).
@@ -1355,7 +1355,7 @@ class Date
1355
1355
  # Date.new(2001, 2, 3, Date::GREGORIAN).start # => -Infinity
1356
1356
  # Date.new(2001, 2, 3, Date::JULIAN).start # => Infinity
1357
1357
  #
1358
- # See argument [start](rdoc-ref:calendars.rdoc@Argument+start).
1358
+ # See argument [start](rdoc-ref:date/calendars.rdoc@Argument+start).
1359
1359
  #
1360
1360
  def start: () -> Float
1361
1361
 
@@ -487,8 +487,7 @@ module Net
487
487
  #
488
488
  # * [::start](rdoc-ref:Net::HTTP.start): Begins a new session in a new
489
489
  # Net::HTTP object.
490
- # * [#started?](rdoc-ref:Net::HTTP#started?) (aliased as
491
- # [#active?](rdoc-ref:Net::HTTP#active?)): Returns whether in a session.
490
+ # * [#started?](rdoc-ref:Net::HTTP#started?): Returns whether in a session.
492
491
  # * [#finish](rdoc-ref:Net::HTTP#finish): Ends an active session.
493
492
  # * [#start](rdoc-ref:Net::HTTP#start): Begins a new session in an existing
494
493
  # Net::HTTP object (`self`).
@@ -562,18 +561,15 @@ module Net
562
561
  # object.
563
562
  # * [#request](rdoc-ref:Net::HTTP#request): Sends a request and returns a
564
563
  # response object.
565
- # * [#request_get](rdoc-ref:Net::HTTP#request_get) (aliased as
566
- # [#get2](rdoc-ref:Net::HTTP#get2)): Sends a GET request and forms a
567
- # response object; if a block given, calls the block with the object,
568
- # otherwise returns the object.
569
- # * [#request_head](rdoc-ref:Net::HTTP#request_head) (aliased as
570
- # [#head2](rdoc-ref:Net::HTTP#head2)): Sends a HEAD request and forms a
571
- # response object; if a block given, calls the block with the object,
572
- # otherwise returns the object.
573
- # * [#request_post](rdoc-ref:Net::HTTP#request_post) (aliased as
574
- # [#post2](rdoc-ref:Net::HTTP#post2)): Sends a POST request and forms a
575
- # response object; if a block given, calls the block with the object,
576
- # otherwise returns the object.
564
+ # * [#request_get](rdoc-ref:Net::HTTP#request_get): Sends a GET request and
565
+ # forms a response object; if a block given, calls the block with the
566
+ # object, otherwise returns the object.
567
+ # * [#request_head](rdoc-ref:Net::HTTP#request_head): Sends a HEAD request and
568
+ # forms a response object; if a block given, calls the block with the
569
+ # object, otherwise returns the object.
570
+ # * [#request_post](rdoc-ref:Net::HTTP#request_post): Sends a POST request and
571
+ # forms a response object; if a block given, calls the block with the
572
+ # object, otherwise returns the object.
577
573
  # * [#send_request](rdoc-ref:Net::HTTP#send_request): Sends a request and
578
574
  # returns a response object.
579
575
  # * [#trace](rdoc-ref:Net::HTTP#trace): Sends a TRACE request and returns a
@@ -605,8 +601,8 @@ module Net
605
601
  # * [::proxy_class?](rdoc-ref:Net::HTTP.proxy_class?): Returns whether `self`
606
602
  # is a proxy class.
607
603
  # * [#proxy?](rdoc-ref:Net::HTTP#proxy?): Returns whether `self` has a proxy.
608
- # * [#proxy_address](rdoc-ref:Net::HTTP#proxy_address) (aliased as
609
- # [#proxyaddr](rdoc-ref:Net::HTTP#proxyaddr)): Returns the proxy address.
604
+ # * [#proxy_address](rdoc-ref:Net::HTTP#proxy_address): Returns the proxy
605
+ # address.
610
606
  # * [#proxy_from_env?](rdoc-ref:Net::HTTP#proxy_from_env?): Returns whether
611
607
  # the proxy is taken from an environment variable.
612
608
  # * [:proxy_from_env=](rdoc-ref:Net::HTTP#proxy_from_env=): Sets whether the
@@ -709,7 +705,6 @@ module Net
709
705
  # ### HTTP Version
710
706
  #
711
707
  # * [::version_1_2?](rdoc-ref:Net::HTTP.version_1_2?) (aliased as
712
- # [::is_version_1_2?](rdoc-ref:Net::HTTP.is_version_1_2?) and
713
708
  # [::version_1_2](rdoc-ref:Net::HTTP.version_1_2)): Returns true; retained
714
709
  # for compatibility.
715
710
  #
@@ -1359,16 +1354,15 @@ module Net
1359
1354
 
1360
1355
  # <!-- rdoc-file=lib/net/http.rb -->
1361
1356
  # Sets or returns the available SSL ciphers. See
1362
- # [OpenSSL::SSL::SSLContext#ciphers=](rdoc-ref:OpenSSL::SSL::SSLContext#ciphers-
1363
- # 3D).
1357
+ # [:SSL::SSLContext#ciphers=](OpenSSL::SSL::SSL::Context#ciphers=).
1364
1358
  #
1365
1359
  attr_accessor ciphers: untyped
1366
1360
 
1367
1361
  # <!-- rdoc-file=lib/net/http.rb -->
1368
1362
  # Sets or returns the extra X509 certificates to be added to the certificate
1369
1363
  # chain. See
1370
- # [OpenSSL::SSL::SSLContext#add_certificate](rdoc-ref:OpenSSL::SSL::SSLContext#a
1371
- # dd_certificate).
1364
+ # [:SSL::SSLContext#add_certificate](OpenSSL::SSL::SSL::Context#add_certificate)
1365
+ # .
1372
1366
  #
1373
1367
  attr_accessor extra_chain_cert: untyped
1374
1368
 
@@ -1384,22 +1378,19 @@ module Net
1384
1378
 
1385
1379
  # <!-- rdoc-file=lib/net/http.rb -->
1386
1380
  # Sets or returns the SSL version. See
1387
- # [OpenSSL::SSL::SSLContext#ssl_version=](rdoc-ref:OpenSSL::SSL::SSLContext#ssl_
1388
- # version-3D).
1381
+ # [:SSL::SSLContext#ssl_version=](OpenSSL::SSL::SSL::Context#ssl_version=).
1389
1382
  #
1390
1383
  attr_accessor ssl_version: untyped
1391
1384
 
1392
1385
  # <!-- rdoc-file=lib/net/http.rb -->
1393
1386
  # Sets or returns the minimum SSL version. See
1394
- # [OpenSSL::SSL::SSLContext#min_version=](rdoc-ref:OpenSSL::SSL::SSLContext#min_
1395
- # version-3D).
1387
+ # [:SSL::SSLContext#min_version=](OpenSSL::SSL::SSL::Context#min_version=).
1396
1388
  #
1397
1389
  attr_accessor min_version: untyped
1398
1390
 
1399
1391
  # <!-- rdoc-file=lib/net/http.rb -->
1400
1392
  # Sets or returns the maximum SSL version. See
1401
- # [OpenSSL::SSL::SSLContext#max_version=](rdoc-ref:OpenSSL::SSL::SSLContext#max_
1402
- # version-3D).
1393
+ # [:SSL::SSLContext#max_version=](OpenSSL::SSL::SSL::Context#max_version=).
1403
1394
  #
1404
1395
  attr_accessor max_version: untyped
1405
1396
 
@@ -1423,8 +1414,8 @@ module Net
1423
1414
  # <!-- rdoc-file=lib/net/http.rb -->
1424
1415
  # Sets or returns whether to verify that the server certificate is valid for the
1425
1416
  # hostname. See
1426
- # [OpenSSL::SSL::SSLContext#verify_hostname=](rdoc-ref:OpenSSL::SSL::SSLContext#
1427
- # attribute-i-verify_mode).
1417
+ # [:SSL::SSLContext#verify_hostname=](OpenSSL::SSL::SSL::Context#verify_hostname
1418
+ # =).
1428
1419
  #
1429
1420
  attr_accessor verify_hostname: untyped
1430
1421
 
@@ -1,9 +1,3 @@
1
- # <!-- rdoc-file=lib/rdoc/rubygems_hook.rb -->
2
- # Gem::RDoc provides methods to generate RDoc and ri data for installed gems
3
- # upon gem installation.
4
- #
5
- # This file is automatically required by RubyGems 1.9 and newer.
6
- #
7
1
  # <!-- rdoc-file=lib/rdoc.rb -->
8
2
  # RDoc produces documentation for Ruby source files by parsing the source and
9
3
  # extracting the definition for classes, modules, methods, includes and
@@ -55,6 +49,18 @@
55
49
  # of Keiju ISHITSUKA of Nippon Rational Inc, who produced the Ruby parser
56
50
  # for irb and the rtags package.
57
51
  #
52
+ # <!-- rdoc-file=lib/rdoc/rubygems_hook.rb -->
53
+ # This class is referenced by RubyGems to create documents. All implementations
54
+ # are moved to the above RubyGemsHook.
55
+ #
56
+ # This class does nothing when this RDoc is installed as a normal gem or a
57
+ # bundled gem.
58
+ #
59
+ # This class does generate/remove documents for compatibility when this RDoc is
60
+ # installed as a default gem.
61
+ #
62
+ # We can remove this when all maintained RubyGems remove `rubygems/rdoc.rb`.
63
+ #
58
64
  module RDoc
59
65
  # <!-- rdoc-file=lib/rdoc/token_stream.rb -->
60
66
  # A TokenStream is a list of tokens, gathered during the parse of some entity
@@ -126,10 +126,14 @@ class Resolv
126
126
 
127
127
  # <!--
128
128
  # rdoc-file=lib/resolv.rb
129
- # - new(resolvers=nil, use_ipv6: nil)
129
+ # - new(resolvers=(arg_not_set = true; nil), use_ipv6: (keyword_not_set = true; nil))
130
130
  # -->
131
131
  # Creates a new Resolv using `resolvers`.
132
132
  #
133
+ # If `resolvers` is not given, a hash, or `nil`, uses a Hosts resolver and and a
134
+ # DNS resolver. If `resolvers` is a hash, uses the hash as configuration for
135
+ # the DNS resolver.
136
+ #
133
137
  def initialize: (?Resolv::Hosts | Resolv::DNS resolvers) -> untyped
134
138
  end
135
139
 
@@ -37,6 +37,13 @@
37
37
  module SecureRandom
38
38
  extend Random::Formatter
39
39
 
40
+ # <!--
41
+ # rdoc-file=lib/securerandom.rb
42
+ # - alphanumeric(n = nil, chars: ALPHANUMERIC)
43
+ # -->
44
+ # Compatibility methods for Ruby 3.2, we can remove this after dropping to
45
+ # support Ruby 3.2
46
+ #
40
47
  def self.alphanumeric: (?Integer?) -> String
41
48
 
42
49
  def self.base64: (?Integer?) -> String
@@ -462,8 +462,13 @@ class Socket < BasicSocket
462
462
  # Version 2 ([RFC 8305](https://datatracker.ietf.org/doc/html/rfc8305))
463
463
  # algorithm by default.
464
464
  #
465
+ # For details on Happy Eyeballs Version 2, see
466
+ # [Socket.tcp_fast_fallback=](rdoc-ref:Socket.tcp_fast_fallback=).
467
+ #
465
468
  # To make it behave the same as in Ruby 3.3 and earlier, explicitly specify the
466
- # option `fast_fallback:false`.
469
+ # option fast_fallback:false. Or, setting Socket.tcp_fast_fallback=false will
470
+ # disable Happy Eyeballs Version 2 not only for this method but for all Socket
471
+ # globally.
467
472
  #
468
473
  # If local_host:local_port is given, the socket is bound to it.
469
474
  #
@@ -498,31 +503,6 @@ class Socket < BasicSocket
498
503
  # puts sock.read
499
504
  # }
500
505
  #
501
- # ### Happy Eyeballs Version 2
502
- # Happy Eyeballs Version 2 ([RFC
503
- # 8305](https://datatracker.ietf.org/doc/html/rfc8305)) is an algorithm designed
504
- # to improve client socket connectivity.
505
- # It aims for more reliable and efficient connections by performing hostname
506
- # resolution and connection attempts in parallel, instead of serially.
507
- #
508
- # Starting from Ruby 3.4, this method operates as follows with this algorithm:
509
- #
510
- # 1. Start resolving both IPv6 and IPv4 addresses concurrently.
511
- # 2. Start connecting to the one of the addresses that are obtained first.
512
- # If IPv4 addresses are obtained first, the method waits 50 ms for IPv6 name
513
- # resolution to prioritize IPv6 connections.
514
- # 3. After starting a connection attempt, wait 250 ms for the connection to be
515
- # established.
516
- # If no connection is established within this time, a new connection is
517
- # started every 250 ms
518
- # until a connection is established or there are no more candidate
519
- # addresses.
520
- # (Although RFC 8305 strictly specifies sorting addresses,
521
- # this method only alternates between IPv6 / IPv4 addresses due to the
522
- # performance concerns)
523
- # 4. Once a connection is established, all remaining connection attempts are
524
- # canceled.
525
- #
526
506
  def self.tcp: (String host, Integer port, ?String local_host, ?Integer local_port, ?resolv_timeout: Time::_Timeout, ?connect_timeout: Time::_Timeout) -> instance
527
507
  | (String host, Integer port, ?String local_host, ?Integer local_port, ?resolv_timeout: Time::_Timeout, ?connect_timeout: Time::_Timeout) { (instance) -> void } -> void
528
508
 
@@ -1077,7 +1057,8 @@ class Socket < BasicSocket
1077
1057
  # otherwise an exception is raised.
1078
1058
  #
1079
1059
  # ### Parameter
1080
- # # +remote_sockaddr+ - the +struct+ sockaddr contained in a string or Addrinfo object
1060
+ # * `remote_sockaddr` - the `struct` sockaddr contained in a string or
1061
+ # Addrinfo object
1081
1062
  #
1082
1063
  # ### Example:
1083
1064
  # # Pull down Google's web page
@@ -1112,7 +1093,7 @@ class Socket < BasicSocket
1112
1093
  # the symbol `:wait_writable` instead.
1113
1094
  #
1114
1095
  # ### See
1115
- # # Socket#connect
1096
+ # * Socket#connect
1116
1097
  #
1117
1098
  def connect_nonblock: (untyped addr, ?exception: untyped) -> (Integer | :wait_writable)
1118
1099
 
@@ -48,11 +48,16 @@ class TCPSocket < IPSocket
48
48
  # Version 2 ([RFC 8305](https://datatracker.ietf.org/doc/html/rfc8305))
49
49
  # algorithm by default, except on Windows.
50
50
  #
51
+ # For details on Happy Eyeballs Version 2, see
52
+ # [Socket.tcp_fast_fallback=](rdoc-ref:Socket.tcp_fast_fallback=).
53
+ #
51
54
  # To make it behave the same as in Ruby 3.3 and earlier, explicitly specify the
52
- # option `fast_fallback:false`.
55
+ # option fast_fallback:false. Or, setting Socket.tcp_fast_fallback=false will
56
+ # disable Happy Eyeballs Version 2 not only for this method but for all Socket
57
+ # globally.
53
58
  #
54
- # Happy Eyeballs Version 2 is not provided on Windows, and it behaves the same
55
- # as in Ruby 3.3 and earlier.
59
+ # When using TCPSocket.new on Windows, Happy Eyeballs Version 2 is not provided,
60
+ # and it behaves the same as in Ruby 3.3 and earlier.
56
61
  #
57
62
  # :resolv_timeout
58
63
  # : Specifies the timeout in seconds from when the hostname resolution starts.
@@ -70,32 +75,5 @@ class TCPSocket < IPSocket
70
75
  # :fast_fallback
71
76
  # : Enables the Happy Eyeballs Version 2 algorithm (enabled by default).
72
77
  #
73
- #
74
- # ### Happy Eyeballs Version 2
75
- # Happy Eyeballs Version 2 ([RFC
76
- # 8305](https://datatracker.ietf.org/doc/html/rfc8305)) is an algorithm designed
77
- # to improve client socket connectivity.
78
- # It aims for more reliable and efficient connections by performing hostname
79
- # resolution and connection attempts in parallel, instead of serially.
80
- #
81
- # Starting from Ruby 3.4, this method operates as follows with this algorithm
82
- # except on Windows:
83
- #
84
- # 1. Start resolving both IPv6 and IPv4 addresses concurrently.
85
- # 2. Start connecting to the one of the addresses that are obtained first.
86
- # If IPv4 addresses are obtained first, the method waits 50 ms for IPv6 name
87
- # resolution to prioritize IPv6 connections.
88
- # 3. After starting a connection attempt, wait 250 ms for the connection to be
89
- # established.
90
- # If no connection is established within this time, a new connection is
91
- # started every 250 ms
92
- # until a connection is established or there are no more candidate
93
- # addresses.
94
- # (Although RFC 8305 strictly specifies sorting addresses,
95
- # this method only alternates between IPv6 / IPv4 addresses due to the
96
- # performance concerns)
97
- # 4. Once a connection is established, all remaining connection attempts are
98
- # canceled.
99
- #
100
78
  def initialize: (String remote_host, Integer remote_port, ?String local_host, ?Integer local_port) -> untyped
101
79
  end
@@ -64,6 +64,6 @@ class Dir
64
64
  # FileUtils.remove_entry dir
65
65
  # end
66
66
  #
67
- def self.mktmpdir: (?String | [ String, String ] | nil, ?String?, ?max_try: Integer?) -> String
68
- | [X] (?String | [ String, String ] | nil, ?String?, ?max_try: Integer?) { (String) -> X } -> X
67
+ def self.mktmpdir: (?string | [ string, string ] | nil, ?path?, ?max_try: Integer?) -> String
68
+ | [X] (?string | [string, string ] | nil, ?path?, ?max_try: Integer?) { (String) -> X } -> X
69
69
  end
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rbs
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.8.0.pre.1
4
+ version: 3.8.0
5
5
  platform: ruby
6
- original_platform: ''
7
6
  authors:
8
7
  - Soutaro Matsumoto
9
8
  bindir: exe
10
9
  cert_chain: []
11
- date: 2024-12-19 00:00:00.000000000 Z
10
+ date: 2024-12-24 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: logger
@@ -541,7 +540,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
541
540
  - !ruby/object:Gem::Version
542
541
  version: '0'
543
542
  requirements: []
544
- rubygems_version: 3.6.0.dev
543
+ rubygems_version: 3.6.2
545
544
  specification_version: 4
546
545
  summary: Type signature for Ruby.
547
546
  test_files: []