rbs 2.0.0 → 2.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (208) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/comments.yml +34 -0
  3. data/.github/workflows/ruby.yml +5 -0
  4. data/CHANGELOG.md +82 -0
  5. data/README.md +6 -1
  6. data/Rakefile +56 -21
  7. data/core/array.rbs +2866 -1086
  8. data/core/basic_object.rbs +150 -30
  9. data/core/binding.rbs +33 -0
  10. data/core/builtin.rbs +4 -4
  11. data/core/class.rbs +43 -5
  12. data/core/comparable.rbs +57 -0
  13. data/core/complex.rbs +170 -4
  14. data/core/constants.rbs +51 -0
  15. data/core/deprecated.rbs +7 -0
  16. data/core/dir.rbs +305 -20
  17. data/core/encoding.rbs +1214 -77
  18. data/core/enumerable.rbs +2173 -234
  19. data/core/enumerator.rbs +448 -182
  20. data/core/env.rbs +448 -1
  21. data/core/errno.rbs +1 -10
  22. data/core/errors.rbs +152 -2
  23. data/core/exception.rbs +201 -127
  24. data/core/false_class.rbs +27 -0
  25. data/core/fiber.rbs +118 -37
  26. data/core/fiber_error.rbs +8 -9
  27. data/core/file.rbs +1060 -142
  28. data/core/file_test.rbs +287 -32
  29. data/core/float.rbs +776 -300
  30. data/core/gc.rbs +185 -34
  31. data/core/global_variables.rbs +5 -1
  32. data/core/hash.rbs +1582 -649
  33. data/core/integer.rbs +974 -204
  34. data/core/io/buffer.rbs +710 -0
  35. data/core/io/wait.rbs +29 -8
  36. data/core/io.rbs +2438 -417
  37. data/core/kernel.rbs +2319 -318
  38. data/core/marshal.rbs +37 -2
  39. data/core/match_data.rbs +123 -6
  40. data/core/math.rbs +126 -6
  41. data/core/method.rbs +226 -102
  42. data/core/module.rbs +421 -45
  43. data/core/nil_class.rbs +64 -0
  44. data/core/numeric.rbs +620 -142
  45. data/core/object.rbs +453 -81
  46. data/core/object_space.rbs +92 -2
  47. data/core/proc.rbs +482 -285
  48. data/core/process.rbs +443 -34
  49. data/core/ractor.rbs +232 -9
  50. data/core/random.rbs +151 -52
  51. data/core/range.rbs +885 -160
  52. data/core/rational.rbs +122 -6
  53. data/core/rb_config.rbs +14 -4
  54. data/core/refinement.rbs +44 -0
  55. data/core/regexp.rbs +156 -14
  56. data/core/ruby_vm.rbs +42 -3
  57. data/core/signal.rbs +78 -39
  58. data/core/string.rbs +2123 -567
  59. data/core/string_io.rbs +204 -0
  60. data/core/struct.rbs +283 -28
  61. data/core/symbol.rbs +304 -30
  62. data/core/thread.rbs +1288 -688
  63. data/core/thread_group.rbs +66 -10
  64. data/core/time.rbs +643 -217
  65. data/core/trace_point.rbs +100 -12
  66. data/core/true_class.rbs +24 -0
  67. data/core/unbound_method.rbs +73 -7
  68. data/core/warning.rbs +37 -12
  69. data/docs/CONTRIBUTING.md +40 -34
  70. data/docs/stdlib.md +3 -102
  71. data/docs/syntax.md +54 -11
  72. data/ext/rbs_extension/extconf.rb +1 -0
  73. data/ext/rbs_extension/lexer.h +5 -0
  74. data/ext/rbs_extension/lexstate.c +6 -0
  75. data/ext/rbs_extension/parser.c +85 -10
  76. data/ext/rbs_extension/ruby_objs.c +4 -2
  77. data/ext/rbs_extension/ruby_objs.h +2 -2
  78. data/goodcheck.yml +0 -11
  79. data/lib/rbs/annotate/annotations.rb +197 -0
  80. data/lib/rbs/annotate/formatter.rb +80 -0
  81. data/lib/rbs/annotate/rdoc_annotator.rb +398 -0
  82. data/lib/rbs/annotate/rdoc_source.rb +120 -0
  83. data/lib/rbs/annotate.rb +6 -0
  84. data/lib/rbs/ast/members.rb +21 -13
  85. data/lib/rbs/buffer.rb +17 -11
  86. data/lib/rbs/cli.rb +48 -1
  87. data/lib/rbs/definition_builder/method_builder.rb +28 -16
  88. data/lib/rbs/definition_builder.rb +6 -2
  89. data/lib/rbs/environment.rb +8 -4
  90. data/lib/rbs/location_aux.rb +12 -0
  91. data/lib/rbs/namespace.rb +1 -1
  92. data/lib/rbs/prototype/rb.rb +12 -0
  93. data/lib/rbs/type_alias_regularity.rb +6 -4
  94. data/lib/rbs/type_name.rb +1 -1
  95. data/lib/rbs/types.rb +1 -1
  96. data/lib/rbs/validator.rb +6 -0
  97. data/lib/rbs/version.rb +1 -1
  98. data/lib/rbs/writer.rb +54 -4
  99. data/lib/rbs.rb +0 -2
  100. data/schema/typeParam.json +3 -3
  101. data/sig/annotate/annotations.rbs +102 -0
  102. data/sig/annotate/formatter.rbs +24 -0
  103. data/sig/annotate/rdoc_annotater.rbs +82 -0
  104. data/sig/annotate/rdoc_source.rbs +30 -0
  105. data/sig/buffer.rbs +6 -2
  106. data/sig/cli.rbs +2 -0
  107. data/sig/collection/{collections.rbs → sources.rbs} +0 -0
  108. data/sig/location.rbs +6 -0
  109. data/sig/members.rbs +24 -18
  110. data/sig/method_builder.rbs +5 -4
  111. data/sig/method_types.rbs +5 -1
  112. data/sig/polyfill.rbs +78 -0
  113. data/sig/validator.rbs +3 -1
  114. data/sig/writer.rbs +79 -2
  115. data/stdlib/abbrev/0/abbrev.rbs +6 -0
  116. data/stdlib/abbrev/0/array.rbs +26 -0
  117. data/stdlib/base64/0/base64.rbs +31 -0
  118. data/stdlib/benchmark/0/benchmark.rbs +74 -3
  119. data/stdlib/bigdecimal/0/big_decimal.rbs +614 -165
  120. data/stdlib/bigdecimal-math/0/big_math.rbs +41 -64
  121. data/stdlib/cgi/0/core.rbs +649 -21
  122. data/stdlib/coverage/0/coverage.rbs +164 -2
  123. data/stdlib/csv/0/csv.rbs +2862 -398
  124. data/stdlib/date/0/date.rbs +483 -25
  125. data/stdlib/date/0/date_time.rbs +187 -12
  126. data/stdlib/dbm/0/dbm.rbs +152 -17
  127. data/stdlib/digest/0/digest.rbs +146 -0
  128. data/stdlib/erb/0/erb.rbs +65 -245
  129. data/stdlib/fiber/0/fiber.rbs +73 -91
  130. data/stdlib/fileutils/0/fileutils.rbs +301 -1
  131. data/stdlib/find/0/find.rbs +9 -0
  132. data/stdlib/forwardable/0/forwardable.rbs +65 -1
  133. data/stdlib/io-console/0/io-console.rbs +227 -15
  134. data/stdlib/ipaddr/0/ipaddr.rbs +161 -0
  135. data/stdlib/json/0/json.rbs +1147 -145
  136. data/stdlib/logger/0/formatter.rbs +24 -0
  137. data/stdlib/logger/0/log_device.rbs +64 -0
  138. data/stdlib/logger/0/logger.rbs +165 -13
  139. data/stdlib/logger/0/period.rbs +10 -0
  140. data/stdlib/logger/0/severity.rbs +26 -0
  141. data/stdlib/monitor/0/monitor.rbs +163 -0
  142. data/stdlib/mutex_m/0/mutex_m.rbs +35 -6
  143. data/stdlib/net-http/0/manifest.yaml +1 -0
  144. data/stdlib/net-http/0/net-http.rbs +1513 -683
  145. data/stdlib/nkf/0/nkf.rbs +372 -0
  146. data/stdlib/objspace/0/objspace.rbs +149 -90
  147. data/stdlib/openssl/0/openssl.rbs +8108 -71
  148. data/stdlib/optparse/0/optparse.rbs +487 -19
  149. data/stdlib/pathname/0/pathname.rbs +425 -124
  150. data/stdlib/prettyprint/0/prettyprint.rbs +120 -99
  151. data/stdlib/prime/0/integer-extension.rbs +20 -2
  152. data/stdlib/prime/0/prime.rbs +88 -21
  153. data/stdlib/pstore/0/pstore.rbs +102 -0
  154. data/stdlib/pty/0/pty.rbs +64 -14
  155. data/stdlib/resolv/0/resolv.rbs +420 -31
  156. data/stdlib/rubygems/0/basic_specification.rbs +4 -1
  157. data/stdlib/rubygems/0/config_file.rbs +33 -1
  158. data/stdlib/rubygems/0/dependency_installer.rbs +4 -3
  159. data/stdlib/rubygems/0/installer.rbs +13 -1
  160. data/stdlib/rubygems/0/path_support.rbs +4 -1
  161. data/stdlib/rubygems/0/platform.rbs +5 -1
  162. data/stdlib/rubygems/0/request_set.rbs +44 -2
  163. data/stdlib/rubygems/0/requirement.rbs +65 -2
  164. data/stdlib/rubygems/0/rubygems.rbs +407 -0
  165. data/stdlib/rubygems/0/source_list.rbs +13 -0
  166. data/stdlib/rubygems/0/specification.rbs +21 -1
  167. data/stdlib/rubygems/0/stream_ui.rbs +3 -1
  168. data/stdlib/rubygems/0/uninstaller.rbs +8 -1
  169. data/stdlib/rubygems/0/version.rbs +60 -157
  170. data/stdlib/securerandom/0/securerandom.rbs +44 -0
  171. data/stdlib/set/0/set.rbs +423 -109
  172. data/stdlib/shellwords/0/shellwords.rbs +55 -77
  173. data/stdlib/singleton/0/singleton.rbs +20 -0
  174. data/stdlib/socket/0/addrinfo.rbs +210 -9
  175. data/stdlib/socket/0/basic_socket.rbs +103 -11
  176. data/stdlib/socket/0/ip_socket.rbs +31 -9
  177. data/stdlib/socket/0/socket.rbs +586 -38
  178. data/stdlib/socket/0/tcp_server.rbs +22 -2
  179. data/stdlib/socket/0/tcp_socket.rbs +12 -1
  180. data/stdlib/socket/0/udp_socket.rbs +25 -2
  181. data/stdlib/socket/0/unix_server.rbs +22 -2
  182. data/stdlib/socket/0/unix_socket.rbs +45 -5
  183. data/stdlib/strscan/0/string_scanner.rbs +210 -9
  184. data/stdlib/tempfile/0/tempfile.rbs +58 -10
  185. data/stdlib/time/0/time.rbs +208 -116
  186. data/stdlib/timeout/0/timeout.rbs +10 -0
  187. data/stdlib/tmpdir/0/tmpdir.rbs +13 -4
  188. data/stdlib/tsort/0/cyclic.rbs +1 -0
  189. data/stdlib/tsort/0/interfaces.rbs +1 -0
  190. data/stdlib/tsort/0/tsort.rbs +42 -0
  191. data/stdlib/uri/0/common.rbs +57 -8
  192. data/stdlib/uri/0/file.rbs +55 -109
  193. data/stdlib/uri/0/ftp.rbs +6 -3
  194. data/stdlib/uri/0/generic.rbs +558 -329
  195. data/stdlib/uri/0/http.rbs +60 -114
  196. data/stdlib/uri/0/https.rbs +8 -102
  197. data/stdlib/uri/0/ldap.rbs +143 -137
  198. data/stdlib/uri/0/ldaps.rbs +8 -102
  199. data/stdlib/uri/0/mailto.rbs +3 -0
  200. data/stdlib/uri/0/rfc2396_parser.rbs +66 -26
  201. data/stdlib/uri/0/ws.rbs +6 -3
  202. data/stdlib/uri/0/wss.rbs +5 -3
  203. data/stdlib/yaml/0/dbm.rbs +151 -87
  204. data/stdlib/yaml/0/store.rbs +6 -0
  205. data/stdlib/zlib/0/zlib.rbs +90 -31
  206. metadata +18 -6
  207. data/lib/rbs/location.rb +0 -221
  208. data/sig/char_scanner.rbs +0 -9
@@ -1,4 +1,8 @@
1
1
  class Addrinfo
2
+ # <!--
3
+ # rdoc-file=ext/socket/lib/socket.rb
4
+ # - foreach(nodename, service, family=nil, socktype=nil, protocol=nil, flags=nil, timeout: nil, &block)
5
+ # -->
2
6
  # iterates over the list of Addrinfo objects obtained by Addrinfo.getaddrinfo.
3
7
  #
4
8
  # Addrinfo.foreach(nil, 80) {|x| p x }
@@ -7,10 +11,18 @@ class Addrinfo
7
11
  # # #<Addrinfo: [::1]:80 TCP (:80)>
8
12
  # # #<Addrinfo: [::1]:80 UDP (:80)>
9
13
  #
10
- def self.foreach: (String? nodename, String | Integer service, ?Integer? family, ?Symbol socktype, ?(Symbol | Integer) protocol, ?Integer flags, ?timeout: Numeric) { (Addrinfo) -> void } -> void
11
- |(String? nodename, String | Integer service, ?Integer? family, ?Symbol socktype, ?(Symbol | Integer) protocol, ?Integer flags, ?timeout: Numeric) -> Enumerable[Addrinfo]
14
+ def self.foreach: (String? nodename, String | Integer service, ?Integer? family, ?Symbol socktype, ?Symbol | Integer protocol, ?Integer flags, ?timeout: Numeric) { (Addrinfo) -> void } -> void
15
+ | (String? nodename, String | Integer service, ?Integer? family, ?Symbol socktype, ?Symbol | Integer protocol, ?Integer flags, ?timeout: Numeric) -> Enumerable[Addrinfo]
12
16
 
13
- # returns a list of addrinfo objects as an array.
17
+ # <!--
18
+ # rdoc-file=ext/socket/raddrinfo.c
19
+ # - Addrinfo.getaddrinfo(nodename, service, family, socktype, protocol, flags) => [addrinfo, ...]
20
+ # - Addrinfo.getaddrinfo(nodename, service, family, socktype, protocol) => [addrinfo, ...]
21
+ # - Addrinfo.getaddrinfo(nodename, service, family, socktype) => [addrinfo, ...]
22
+ # - Addrinfo.getaddrinfo(nodename, service, family) => [addrinfo, ...]
23
+ # - Addrinfo.getaddrinfo(nodename, service) => [addrinfo, ...]
24
+ # -->
25
+ # returns a list of addrinfo objects as an array.
14
26
  #
15
27
  # This method converts nodename (hostname) and service (port) to addrinfo. Since
16
28
  # the conversion is not unique, the result is a list of addrinfo objects.
@@ -45,8 +57,12 @@ class Addrinfo
45
57
  # #=> [#<Addrinfo: 203.178.141.194:80 TCP (www.kame.net)>,
46
58
  # # #<Addrinfo: [2001:200:dff:fff1:216:3eff:feb1:44d7]:80 TCP (www.kame.net)>]
47
59
  #
48
- def self.getaddrinfo: (String nodename, ?(String | Integer) service, ?Symbol? family, ?(Symbol | Integer) protocol) -> Array[Addrinfo]
60
+ def self.getaddrinfo: (String nodename, ?String | Integer service, ?Symbol? family, ?Symbol | Integer protocol) -> Array[Addrinfo]
49
61
 
62
+ # <!--
63
+ # rdoc-file=ext/socket/raddrinfo.c
64
+ # - Addrinfo.ip(host) => addrinfo
65
+ # -->
50
66
  # returns an addrinfo object for IP address.
51
67
  #
52
68
  # The port, socktype, protocol of the result is filled by zero. So, it is not
@@ -56,18 +72,30 @@ class Addrinfo
56
72
  #
57
73
  def self.ip: (String host) -> Addrinfo
58
74
 
75
+ # <!--
76
+ # rdoc-file=ext/socket/raddrinfo.c
77
+ # - Addrinfo.tcp(host, port) => addrinfo
78
+ # -->
59
79
  # returns an addrinfo object for TCP address.
60
80
  #
61
81
  # Addrinfo.tcp("localhost", "smtp") #=> #<Addrinfo: 127.0.0.1:25 TCP (localhost:smtp)>
62
82
  #
63
83
  def self.tcp: (String host, String | Integer service) -> Addrinfo
64
84
 
85
+ # <!--
86
+ # rdoc-file=ext/socket/raddrinfo.c
87
+ # - Addrinfo.udp(host, port) => addrinfo
88
+ # -->
65
89
  # returns an addrinfo object for UDP address.
66
90
  #
67
91
  # Addrinfo.udp("localhost", "daytime") #=> #<Addrinfo: 127.0.0.1:13 UDP (localhost:daytime)>
68
92
  #
69
93
  def self.udp: (String host, String | Integer service) -> Addrinfo
70
94
 
95
+ # <!--
96
+ # rdoc-file=ext/socket/raddrinfo.c
97
+ # - Addrinfo.unix(path [, socktype]) => addrinfo
98
+ # -->
71
99
  # returns an addrinfo object for UNIX socket address.
72
100
  #
73
101
  # *socktype* specifies the socket type. If it is omitted, :STREAM is used.
@@ -79,12 +107,20 @@ class Addrinfo
79
107
 
80
108
  public
81
109
 
110
+ # <!--
111
+ # rdoc-file=ext/socket/raddrinfo.c
112
+ # - addrinfo.afamily => integer
113
+ # -->
82
114
  # returns the address family as an integer.
83
115
  #
84
116
  # Addrinfo.tcp("localhost", 80).afamily == Socket::AF_INET #=> true
85
117
  #
86
118
  def afamily: () -> Integer
87
119
 
120
+ # <!--
121
+ # rdoc-file=ext/socket/lib/socket.rb
122
+ # - bind() { |sock| ... }
123
+ # -->
88
124
  # creates a socket bound to self.
89
125
  #
90
126
  # If a block is given, it is called with the socket and the value of the block
@@ -96,8 +132,12 @@ class Addrinfo
96
132
  # }
97
133
  #
98
134
  def bind: () -> Socket
99
- | () { (Socket) -> void } -> void
135
+ | () { (Socket) -> void } -> void
100
136
 
137
+ # <!--
138
+ # rdoc-file=ext/socket/raddrinfo.c
139
+ # - addrinfo.canonname => string or nil
140
+ # -->
101
141
  # returns the canonical name as a string.
102
142
  #
103
143
  # nil is returned if no canonical name.
@@ -111,6 +151,11 @@ class Addrinfo
111
151
  #
112
152
  def canonname: () -> String
113
153
 
154
+ # <!--
155
+ # rdoc-file=ext/socket/lib/socket.rb
156
+ # - addrinfo.connect([opts]) {|socket| ... }
157
+ # - addrinfo.connect([opts])
158
+ # -->
114
159
  # creates a socket connected to the address of self.
115
160
  #
116
161
  # The optional argument *opts* is options represented by a hash. *opts* may have
@@ -131,6 +176,11 @@ class Addrinfo
131
176
  def connect: (?timeout: Numeric) { (Socket) -> void } -> void
132
177
  | (?timeout: Numeric) -> Socket
133
178
 
179
+ # <!--
180
+ # rdoc-file=ext/socket/lib/socket.rb
181
+ # - addrinfo.connect_from([local_addr_args], [opts]) {|socket| ... }
182
+ # - addrinfo.connect_from([local_addr_args], [opts])
183
+ # -->
134
184
  # creates a socket connected to the address of self.
135
185
  #
136
186
  # If one or more arguments given as *local_addr_args*, it is used as the local
@@ -162,10 +212,15 @@ class Addrinfo
162
212
  # }
163
213
  #
164
214
  def connect_from: (String host, Integer port, ?timeout: Numeric) { (Socket) -> void } -> void
165
- | (String host, Integer port, ?timeout: Numeric) -> Socket
215
+ | (String host, Integer port, ?timeout: Numeric) -> Socket
166
216
  | (Addrinfo sockaddr, ?timeout: Numeric) { (Socket) -> void } -> void
167
217
  | (Addrinfo sockaddr, ?timeout: Numeric) -> Socket
168
218
 
219
+ # <!--
220
+ # rdoc-file=ext/socket/lib/socket.rb
221
+ # - addrinfo.connect_to([remote_addr_args], [opts]) {|socket| ... }
222
+ # - addrinfo.connect_to([remote_addr_args], [opts])
223
+ # -->
169
224
  # creates a socket connected to *remote_addr_args* and bound to self.
170
225
  #
171
226
  # The optional last argument *opts* is options represented by a hash. *opts* may
@@ -184,10 +239,14 @@ class Addrinfo
184
239
  # }
185
240
  #
186
241
  def connect_to: (String host, Integer port, ?timeout: Numeric) { (Socket) -> void } -> void
187
- | (String host, Integer port, ?timeout: Numeric) -> Socket
242
+ | (String host, Integer port, ?timeout: Numeric) -> Socket
188
243
  | (Addrinfo sockaddr, ?timeout: Numeric) { (Socket) -> void } -> void
189
244
  | (Addrinfo sockaddr, ?timeout: Numeric) -> Socket
190
245
 
246
+ # <!--
247
+ # rdoc-file=ext/socket/lib/socket.rb
248
+ # - family_addrinfo(*args)
249
+ # -->
191
250
  # creates an Addrinfo object from the arguments.
192
251
  #
193
252
  # The arguments are interpreted as similar to self.
@@ -201,6 +260,11 @@ class Addrinfo
201
260
  def family_addrinfo: (String host, Integer port) -> Addrinfo
202
261
  | (String path) -> Addrinfo
203
262
 
263
+ # <!--
264
+ # rdoc-file=ext/socket/raddrinfo.c
265
+ # - addrinfo.getnameinfo => [nodename, service]
266
+ # - addrinfo.getnameinfo(flags) => [nodename, service]
267
+ # -->
204
268
  # returns nodename and service as a pair of strings. This converts struct
205
269
  # sockaddr in addrinfo to textual representation.
206
270
  #
@@ -211,8 +275,12 @@ class Addrinfo
211
275
  # Addrinfo.tcp("127.0.0.1", 80).getnameinfo(Socket::NI_NUMERICSERV)
212
276
  # #=> ["localhost", "80"]
213
277
  #
214
- def getnameinfo: (?Integer flags) -> [String, Integer]
278
+ def getnameinfo: (?Integer flags) -> [ String, Integer ]
215
279
 
280
+ # <!--
281
+ # rdoc-file=ext/socket/raddrinfo.c
282
+ # - addrinfo.inspect => string
283
+ # -->
216
284
  # returns a string which shows addrinfo in human-readable form.
217
285
  #
218
286
  # Addrinfo.tcp("localhost", 80).inspect #=> "#<Addrinfo: 127.0.0.1:80 TCP (localhost)>"
@@ -220,6 +288,10 @@ class Addrinfo
220
288
  #
221
289
  def inspect: () -> String
222
290
 
291
+ # <!--
292
+ # rdoc-file=ext/socket/raddrinfo.c
293
+ # - addrinfo.inspect_sockaddr => string
294
+ # -->
223
295
  # returns a string which shows the sockaddr in *addrinfo* with human-readable
224
296
  # form.
225
297
  #
@@ -229,6 +301,10 @@ class Addrinfo
229
301
  #
230
302
  def inspect_sockaddr: () -> String
231
303
 
304
+ # <!--
305
+ # rdoc-file=ext/socket/raddrinfo.c
306
+ # - addrinfo.ip? => true or false
307
+ # -->
232
308
  # returns true if addrinfo is internet (IPv4/IPv6) address. returns false
233
309
  # otherwise.
234
310
  #
@@ -238,6 +314,10 @@ class Addrinfo
238
314
  #
239
315
  def ip?: () -> bool
240
316
 
317
+ # <!--
318
+ # rdoc-file=ext/socket/raddrinfo.c
319
+ # - addrinfo.ip_address => string
320
+ # -->
241
321
  # Returns the IP address as a string.
242
322
  #
243
323
  # Addrinfo.tcp("127.0.0.1", 80).ip_address #=> "127.0.0.1"
@@ -245,6 +325,10 @@ class Addrinfo
245
325
  #
246
326
  def ip_address: () -> String
247
327
 
328
+ # <!--
329
+ # rdoc-file=ext/socket/raddrinfo.c
330
+ # - addrinfo.ip_port => port
331
+ # -->
248
332
  # Returns the port number as an integer.
249
333
  #
250
334
  # Addrinfo.tcp("127.0.0.1", 80).ip_port #=> 80
@@ -252,13 +336,21 @@ class Addrinfo
252
336
  #
253
337
  def ip_port: () -> Integer
254
338
 
339
+ # <!--
340
+ # rdoc-file=ext/socket/raddrinfo.c
341
+ # - addrinfo.ip_unpack => [addr, port]
342
+ # -->
255
343
  # Returns the IP address and port number as 2-element array.
256
344
  #
257
345
  # Addrinfo.tcp("127.0.0.1", 80).ip_unpack #=> ["127.0.0.1", 80]
258
346
  # Addrinfo.tcp("::1", 80).ip_unpack #=> ["::1", 80]
259
347
  #
260
- def ip_unpack: () -> [String, Integer]
348
+ def ip_unpack: () -> [ String, Integer ]
261
349
 
350
+ # <!--
351
+ # rdoc-file=ext/socket/raddrinfo.c
352
+ # - addrinfo.ipv4? => true or false
353
+ # -->
262
354
  # returns true if addrinfo is IPv4 address. returns false otherwise.
263
355
  #
264
356
  # Addrinfo.tcp("127.0.0.1", 80).ipv4? #=> true
@@ -267,21 +359,37 @@ class Addrinfo
267
359
  #
268
360
  def ipv4?: () -> bool
269
361
 
362
+ # <!--
363
+ # rdoc-file=ext/socket/raddrinfo.c
364
+ # - ipv4_loopback?()
365
+ # -->
270
366
  # Returns true for IPv4 loopback address (127.0.0.0/8). It returns false
271
367
  # otherwise.
272
368
  #
273
369
  def ipv4_loopback?: () -> bool
274
370
 
371
+ # <!--
372
+ # rdoc-file=ext/socket/raddrinfo.c
373
+ # - ipv4_multicast?()
374
+ # -->
275
375
  # Returns true for IPv4 multicast address (224.0.0.0/4). It returns false
276
376
  # otherwise.
277
377
  #
278
378
  def ipv4_multicast?: () -> bool
279
379
 
380
+ # <!--
381
+ # rdoc-file=ext/socket/raddrinfo.c
382
+ # - ipv4_private?()
383
+ # -->
280
384
  # Returns true for IPv4 private address (10.0.0.0/8, 172.16.0.0/12,
281
385
  # 192.168.0.0/16). It returns false otherwise.
282
386
  #
283
387
  def ipv4_private?: () -> bool
284
388
 
389
+ # <!--
390
+ # rdoc-file=ext/socket/raddrinfo.c
391
+ # - addrinfo.ipv6? => true or false
392
+ # -->
285
393
  # returns true if addrinfo is IPv6 address. returns false otherwise.
286
394
  #
287
395
  # Addrinfo.tcp("127.0.0.1", 80).ipv6? #=> false
@@ -290,50 +398,90 @@ class Addrinfo
290
398
  #
291
399
  def ipv6?: () -> bool
292
400
 
401
+ # <!--
402
+ # rdoc-file=ext/socket/raddrinfo.c
403
+ # - ipv6_linklocal?()
404
+ # -->
293
405
  # Returns true for IPv6 link local address (ff80::/10). It returns false
294
406
  # otherwise.
295
407
  #
296
408
  def ipv6_linklocal?: () -> bool
297
409
 
410
+ # <!--
411
+ # rdoc-file=ext/socket/raddrinfo.c
412
+ # - ipv6_loopback?()
413
+ # -->
298
414
  # Returns true for IPv6 loopback address (::1). It returns false otherwise.
299
415
  #
300
416
  def ipv6_loopback?: () -> bool
301
417
 
418
+ # <!--
419
+ # rdoc-file=ext/socket/raddrinfo.c
420
+ # - ipv6_mc_global?()
421
+ # -->
302
422
  # Returns true for IPv6 multicast global scope address. It returns false
303
423
  # otherwise.
304
424
  #
305
425
  def ipv6_mc_global?: () -> bool
306
426
 
427
+ # <!--
428
+ # rdoc-file=ext/socket/raddrinfo.c
429
+ # - ipv6_mc_linklocal?()
430
+ # -->
307
431
  # Returns true for IPv6 multicast link-local scope address. It returns false
308
432
  # otherwise.
309
433
  #
310
434
  def ipv6_mc_linklocal?: () -> bool
311
435
 
436
+ # <!--
437
+ # rdoc-file=ext/socket/raddrinfo.c
438
+ # - ipv6_mc_nodelocal?()
439
+ # -->
312
440
  # Returns true for IPv6 multicast node-local scope address. It returns false
313
441
  # otherwise.
314
442
  #
315
443
  def ipv6_mc_nodelocal?: () -> bool
316
444
 
445
+ # <!--
446
+ # rdoc-file=ext/socket/raddrinfo.c
447
+ # - ipv6_mc_orglocal?()
448
+ # -->
317
449
  # Returns true for IPv6 multicast organization-local scope address. It returns
318
450
  # false otherwise.
319
451
  #
320
452
  def ipv6_mc_orglocal?: () -> bool
321
453
 
454
+ # <!--
455
+ # rdoc-file=ext/socket/raddrinfo.c
456
+ # - ipv6_mc_sitelocal?()
457
+ # -->
322
458
  # Returns true for IPv6 multicast site-local scope address. It returns false
323
459
  # otherwise.
324
460
  #
325
461
  def ipv6_mc_sitelocal?: () -> bool
326
462
 
463
+ # <!--
464
+ # rdoc-file=ext/socket/raddrinfo.c
465
+ # - ipv6_multicast?()
466
+ # -->
327
467
  # Returns true for IPv6 multicast address (ff00::/8). It returns false
328
468
  # otherwise.
329
469
  #
330
470
  def ipv6_multicast?: () -> bool
331
471
 
472
+ # <!--
473
+ # rdoc-file=ext/socket/raddrinfo.c
474
+ # - ipv6_sitelocal?()
475
+ # -->
332
476
  # Returns true for IPv6 site local address (ffc0::/10). It returns false
333
477
  # otherwise.
334
478
  #
335
479
  def ipv6_sitelocal?: () -> bool
336
480
 
481
+ # <!--
482
+ # rdoc-file=ext/socket/raddrinfo.c
483
+ # - ipv6_to_ipv4()
484
+ # -->
337
485
  # Returns IPv4 address of IPv4 mapped/compatible IPv6 address. It returns nil if
338
486
  # `self` is not IPv4 mapped/compatible IPv6 address.
339
487
  #
@@ -345,25 +493,45 @@ class Addrinfo
345
493
  #
346
494
  def ipv6_to_ipv4: () -> Addrinfo?
347
495
 
496
+ # <!--
497
+ # rdoc-file=ext/socket/raddrinfo.c
498
+ # - ipv6_unique_local?()
499
+ # -->
348
500
  # Returns true for IPv6 unique local address (fc00::/7, RFC4193). It returns
349
501
  # false otherwise.
350
502
  #
351
503
  def ipv6_unique_local?: () -> bool
352
504
 
505
+ # <!--
506
+ # rdoc-file=ext/socket/raddrinfo.c
507
+ # - ipv6_unspecified?()
508
+ # -->
353
509
  # Returns true for IPv6 unspecified address (::). It returns false otherwise.
354
510
  #
355
511
  def ipv6_unspecified?: () -> bool
356
512
 
513
+ # <!--
514
+ # rdoc-file=ext/socket/raddrinfo.c
515
+ # - ipv6_v4compat?()
516
+ # -->
357
517
  # Returns true for IPv4-compatible IPv6 address (::/80). It returns false
358
518
  # otherwise.
359
519
  #
360
520
  def ipv6_v4compat?: () -> bool
361
521
 
522
+ # <!--
523
+ # rdoc-file=ext/socket/raddrinfo.c
524
+ # - ipv6_v4mapped?()
525
+ # -->
362
526
  # Returns true for IPv4-mapped IPv6 address (::ffff:0:0/80). It returns false
363
527
  # otherwise.
364
528
  #
365
529
  def ipv6_v4mapped?: () -> bool
366
530
 
531
+ # <!--
532
+ # rdoc-file=ext/socket/lib/socket.rb
533
+ # - listen(backlog=Socket::SOMAXCONN) { |sock| ... }
534
+ # -->
367
535
  # creates a listening socket bound to self.
368
536
  #
369
537
  def listen: (Integer backlog) -> void
@@ -372,24 +540,37 @@ class Addrinfo
372
540
 
373
541
  def marshal_load: (String) -> instance
374
542
 
543
+ # <!--
544
+ # rdoc-file=ext/socket/raddrinfo.c
545
+ # - addrinfo.pfamily => integer
546
+ # -->
375
547
  # returns the protocol family as an integer.
376
548
  #
377
549
  # Addrinfo.tcp("localhost", 80).pfamily == Socket::PF_INET #=> true
378
550
  #
379
551
  def pfamily: () -> Integer
380
552
 
553
+ # <!--
554
+ # rdoc-file=ext/socket/raddrinfo.c
555
+ # - addrinfo.protocol => integer
556
+ # -->
381
557
  # returns the socket type as an integer.
382
558
  #
383
559
  # Addrinfo.tcp("localhost", 80).protocol == Socket::IPPROTO_TCP #=> true
384
560
  #
385
561
  def protocol: () -> Integer
386
562
 
563
+ # <!--
564
+ # rdoc-file=ext/socket/raddrinfo.c
565
+ # - addrinfo.socktype => integer
566
+ # -->
387
567
  # returns the socket type as an integer.
388
568
  #
389
569
  # Addrinfo.tcp("localhost", 80).socktype == Socket::SOCK_STREAM #=> true
390
570
  #
391
571
  def socktype: () -> Integer
392
572
 
573
+ # <!-- rdoc-file=ext/socket/raddrinfo.c -->
393
574
  # returns the socket address as packed struct sockaddr string.
394
575
  #
395
576
  # Addrinfo.tcp("localhost", 80).to_sockaddr
@@ -397,6 +578,11 @@ class Addrinfo
397
578
  #
398
579
  def to_s: () -> String
399
580
 
581
+ # <!--
582
+ # rdoc-file=ext/socket/raddrinfo.c
583
+ # - addrinfo.to_sockaddr => string
584
+ # - addrinfo.to_s => string
585
+ # -->
400
586
  # returns the socket address as packed struct sockaddr string.
401
587
  #
402
588
  # Addrinfo.tcp("localhost", 80).to_sockaddr
@@ -404,6 +590,10 @@ class Addrinfo
404
590
  #
405
591
  def to_sockaddr: () -> String
406
592
 
593
+ # <!--
594
+ # rdoc-file=ext/socket/raddrinfo.c
595
+ # - addrinfo.unix? => true or false
596
+ # -->
407
597
  # returns true if addrinfo is UNIX address. returns false otherwise.
408
598
  #
409
599
  # Addrinfo.tcp("127.0.0.1", 80).unix? #=> false
@@ -412,6 +602,10 @@ class Addrinfo
412
602
  #
413
603
  def unix?: () -> bool
414
604
 
605
+ # <!--
606
+ # rdoc-file=ext/socket/raddrinfo.c
607
+ # - addrinfo.unix_path => path
608
+ # -->
415
609
  # Returns the socket path as a string.
416
610
  #
417
611
  # Addrinfo.unix("/tmp/sock").unix_path #=> "/tmp/sock"
@@ -420,6 +614,13 @@ class Addrinfo
420
614
 
421
615
  private
422
616
 
617
+ # <!--
618
+ # rdoc-file=ext/socket/raddrinfo.c
619
+ # - Addrinfo.new(sockaddr) => addrinfo
620
+ # - Addrinfo.new(sockaddr, family) => addrinfo
621
+ # - Addrinfo.new(sockaddr, family, socktype) => addrinfo
622
+ # - Addrinfo.new(sockaddr, family, socktype, protocol) => addrinfo
623
+ # -->
423
624
  # returns a new instance of Addrinfo. The instance contains sockaddr, family,
424
625
  # socktype, protocol. sockaddr means struct sockaddr which can be used for
425
626
  # connect(2), etc. family, socktype and protocol are integers which is used for