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,3 +1,4 @@
1
+ # <!-- rdoc-file=ext/socket/tcpserver.c -->
1
2
  # TCPServer represents a TCP/IP server socket.
2
3
  #
3
4
  # A simple TCP server may look like:
@@ -24,9 +25,14 @@
24
25
  # client.close
25
26
  # end
26
27
  # end
28
+ #
27
29
  class TCPServer < TCPSocket
28
30
  public
29
31
 
32
+ # <!--
33
+ # rdoc-file=ext/socket/tcpserver.c
34
+ # - tcpserver.accept => tcpsocket
35
+ # -->
30
36
  # Accepts an incoming connection. It returns a new TCPSocket object.
31
37
  #
32
38
  # TCPServer.open("127.0.0.1", 14641) {|serv|
@@ -37,6 +43,10 @@ class TCPServer < TCPSocket
37
43
  #
38
44
  def accept: () -> TCPSocket
39
45
 
46
+ # <!--
47
+ # rdoc-file=ext/socket/lib/socket.rb
48
+ # - tcpserver.accept_nonblock([options]) => tcpsocket
49
+ # -->
40
50
  # Accepts an incoming connection using accept(2) after O_NONBLOCK is set for the
41
51
  # underlying file descriptor. It returns an accepted TCPSocket for the incoming
42
52
  # connection.
@@ -70,9 +80,12 @@ class TCPServer < TCPSocket
70
80
  # * TCPServer#accept
71
81
  # * Socket#accept
72
82
  #
73
- #
74
83
  def accept_nonblock: (?exception: boolish) -> (TCPSocket | :wait_readable)
75
84
 
85
+ # <!--
86
+ # rdoc-file=ext/socket/tcpserver.c
87
+ # - socket.listen( int ) => 0
88
+ # -->
76
89
  # Listens for connections, using the specified `int` as the backlog. A call to
77
90
  # *listen* only applies if the `socket` is of type SOCK_STREAM or
78
91
  # SOCK_SEQPACKET.
@@ -142,9 +155,12 @@ class TCPServer < TCPSocket
142
155
  # * listen manual pages on unix-based systems
143
156
  # * listen function in Microsoft's Winsock functions reference
144
157
  #
145
- #
146
158
  def listen: (Integer backlog) -> void
147
159
 
160
+ # <!--
161
+ # rdoc-file=ext/socket/tcpserver.c
162
+ # - tcpserver.sysaccept => file_descriptor
163
+ # -->
148
164
  # Returns a file descriptor of a accepted connection.
149
165
  #
150
166
  # TCPServer.open("127.0.0.1", 28561) {|serv|
@@ -160,6 +176,10 @@ class TCPServer < TCPSocket
160
176
 
161
177
  def __accept_nonblock: (untyped) -> untyped
162
178
 
179
+ # <!--
180
+ # rdoc-file=ext/socket/tcpserver.c
181
+ # - TCPServer.new([hostname,] port) => tcpserver
182
+ # -->
163
183
  # Creates a new server socket bound to *port*.
164
184
  #
165
185
  # If *hostname* is given, the socket is bound to it.
@@ -1,3 +1,4 @@
1
+ # <!-- rdoc-file=ext/socket/tcpsocket.c -->
1
2
  # TCPSocket represents a TCP/IP client socket.
2
3
  #
3
4
  # A simple client may look like:
@@ -11,7 +12,12 @@
11
12
  # end
12
13
  #
13
14
  # s.close # close socket when done
15
+ #
14
16
  class TCPSocket < IPSocket
17
+ # <!--
18
+ # rdoc-file=ext/socket/tcpsocket.c
19
+ # - TCPSocket.gethostbyname(hostname) => [official_hostname, alias_hostnames, address_family, *address_list]
20
+ # -->
15
21
  # Use Addrinfo.getaddrinfo instead. This method is deprecated for the following
16
22
  # reasons:
17
23
  #
@@ -27,9 +33,14 @@ class TCPSocket < IPSocket
27
33
  # TCPSocket.gethostbyname("localhost")
28
34
  # #=> ["localhost", ["hal"], 2, "127.0.0.1"]
29
35
  #
30
- def self.gethostbyname: (String host) -> [String, Array[String], Integer, String]
36
+ def self.gethostbyname: (String host) -> [ String, Array[String], Integer, String ]
31
37
 
32
38
  private
33
39
 
40
+ # <!--
41
+ # rdoc-file=lib/resolv-replace.rb
42
+ # - new(host, serv, *rest)
43
+ # -->
44
+ #
34
45
  def initialize: (String remote_host, Integer remote_port, ?String local_host, ?Integer local_port) -> untyped
35
46
  end
@@ -1,7 +1,13 @@
1
+ # <!-- rdoc-file=ext/socket/udpsocket.c -->
1
2
  # UDPSocket represents a UDP/IP socket.
3
+ #
2
4
  class UDPSocket < IPSocket
3
5
  public
4
6
 
7
+ # <!--
8
+ # rdoc-file=ext/socket/udpsocket.c
9
+ # - udpsocket.bind(host, port) #=> 0
10
+ # -->
5
11
  # Binds *udpsocket* to *host*:*port*.
6
12
  #
7
13
  # u1 = UDPSocket.new
@@ -11,6 +17,10 @@ class UDPSocket < IPSocket
11
17
  #
12
18
  def bind: (String host, Integer port) -> void
13
19
 
20
+ # <!--
21
+ # rdoc-file=ext/socket/udpsocket.c
22
+ # - udpsocket.connect(host, port) => 0
23
+ # -->
14
24
  # Connects *udpsocket* to *host*:*port*.
15
25
  #
16
26
  # This makes possible to send without destination address.
@@ -24,6 +34,10 @@ class UDPSocket < IPSocket
24
34
  #
25
35
  def connect: (String host, Integer port) -> void
26
36
 
37
+ # <!--
38
+ # rdoc-file=ext/socket/lib/socket.rb
39
+ # - udpsocket.recvfrom_nonblock(maxlen [, flags[, outbuf [, options]]]) => [mesg, sender_inet_addr]
40
+ # -->
27
41
  # Receives up to *maxlen* bytes from `udpsocket` using recvfrom(2) after
28
42
  # O_NONBLOCK is set for the underlying file descriptor. *flags* is zero or more
29
43
  # of the `MSG_` options. The first element of the results, *mesg*, is the data
@@ -73,9 +87,14 @@ class UDPSocket < IPSocket
73
87
  # ### See
74
88
  # * Socket#recvfrom
75
89
  #
76
- #
77
- def recvfrom_nonblock: (Integer len, ?Integer flag, ?String outbuf, ?exception: boolish) -> [String, [String, Integer, String, String]]
90
+ def recvfrom_nonblock: (Integer len, ?Integer flag, ?String outbuf, ?exception: boolish) -> [ String, [ String, Integer, String, String ] ]
78
91
 
92
+ # <!--
93
+ # rdoc-file=ext/socket/udpsocket.c
94
+ # - udpsocket.send(mesg, flags, host, port) => numbytes_sent
95
+ # - udpsocket.send(mesg, flags, sockaddr_to) => numbytes_sent
96
+ # - udpsocket.send(mesg, flags) => numbytes_sent
97
+ # -->
79
98
  # Sends *mesg* via *udpsocket*.
80
99
  #
81
100
  # *flags* should be a bitwise OR of Socket::MSG_* constants.
@@ -97,6 +116,10 @@ class UDPSocket < IPSocket
97
116
 
98
117
  def __recvfrom_nonblock: (untyped, untyped, untyped, untyped) -> untyped
99
118
 
119
+ # <!--
120
+ # rdoc-file=ext/socket/udpsocket.c
121
+ # - UDPSocket.new([address_family]) => socket
122
+ # -->
100
123
  # Creates a new UDPSocket object.
101
124
  #
102
125
  # *address_family* should be an integer, a string or a symbol: Socket::AF_INET,
@@ -1,7 +1,13 @@
1
+ # <!-- rdoc-file=ext/socket/unixserver.c -->
1
2
  # UNIXServer represents a UNIX domain stream server socket.
3
+ #
2
4
  class UNIXServer < UNIXSocket
3
5
  public
4
6
 
7
+ # <!--
8
+ # rdoc-file=ext/socket/unixserver.c
9
+ # - unixserver.accept => unixsocket
10
+ # -->
5
11
  # Accepts an incoming connection. It returns a new UNIXSocket object.
6
12
  #
7
13
  # UNIXServer.open("/tmp/sock") {|serv|
@@ -15,6 +21,10 @@ class UNIXServer < UNIXSocket
15
21
  #
16
22
  def accept: () -> UNIXSocket
17
23
 
24
+ # <!--
25
+ # rdoc-file=ext/socket/lib/socket.rb
26
+ # - unixserver.accept_nonblock([options]) => unixsocket
27
+ # -->
18
28
  # Accepts an incoming connection using accept(2) after O_NONBLOCK is set for the
19
29
  # underlying file descriptor. It returns an accepted UNIXSocket for the incoming
20
30
  # connection.
@@ -48,9 +58,12 @@ class UNIXServer < UNIXSocket
48
58
  # * UNIXServer#accept
49
59
  # * Socket#accept
50
60
  #
51
- #
52
61
  def accept_nonblock: (?exception: boolish) -> (UNIXSocket | :wait_readable)
53
62
 
63
+ # <!--
64
+ # rdoc-file=ext/socket/unixserver.c
65
+ # - socket.listen( int ) => 0
66
+ # -->
54
67
  # Listens for connections, using the specified `int` as the backlog. A call to
55
68
  # *listen* only applies if the `socket` is of type SOCK_STREAM or
56
69
  # SOCK_SEQPACKET.
@@ -120,9 +133,12 @@ class UNIXServer < UNIXSocket
120
133
  # * listen manual pages on unix-based systems
121
134
  # * listen function in Microsoft's Winsock functions reference
122
135
  #
123
- #
124
136
  def listen: (Integer backlog) -> void
125
137
 
138
+ # <!--
139
+ # rdoc-file=ext/socket/unixserver.c
140
+ # - unixserver.sysaccept => file_descriptor
141
+ # -->
126
142
  # Accepts a new connection. It returns the new file descriptor which is an
127
143
  # integer.
128
144
  #
@@ -142,6 +158,10 @@ class UNIXServer < UNIXSocket
142
158
 
143
159
  def __accept_nonblock: (untyped) -> untyped
144
160
 
161
+ # <!--
162
+ # rdoc-file=ext/socket/unixserver.c
163
+ # - UNIXServer.new(path) => unixserver
164
+ # -->
145
165
  # Creates a new UNIX server socket bound to *path*.
146
166
  #
147
167
  # require 'socket'
@@ -1,5 +1,12 @@
1
+ # <!-- rdoc-file=ext/socket/unixsocket.c -->
1
2
  # UNIXSocket represents a UNIX domain stream client socket.
3
+ #
2
4
  class UNIXSocket < BasicSocket
5
+ # <!--
6
+ # rdoc-file=ext/socket/unixsocket.c
7
+ # - UNIXSocket.pair([type [, protocol]]) => [unixsocket1, unixsocket2]
8
+ # - UNIXSocket.socketpair([type [, protocol]]) => [unixsocket1, unixsocket2]
9
+ # -->
3
10
  # Creates a pair of sockets connected to each other.
4
11
  #
5
12
  # *socktype* should be a socket type such as: :STREAM, :DGRAM, :RAW, etc.
@@ -12,8 +19,13 @@ class UNIXSocket < BasicSocket
12
19
  # s1.send "b", 0
13
20
  # p s2.recv(10) #=> "ab"
14
21
  #
15
- def self.pair: (?Symbol socktype, ?Integer protocol) -> [instance, instance]
22
+ def self.pair: (?Symbol socktype, ?Integer protocol) -> [ instance, instance ]
16
23
 
24
+ # <!--
25
+ # rdoc-file=ext/socket/unixsocket.c
26
+ # - UNIXSocket.pair([type [, protocol]]) => [unixsocket1, unixsocket2]
27
+ # - UNIXSocket.socketpair([type [, protocol]]) => [unixsocket1, unixsocket2]
28
+ # -->
17
29
  # Creates a pair of sockets connected to each other.
18
30
  #
19
31
  # *socktype* should be a socket type such as: :STREAM, :DGRAM, :RAW, etc.
@@ -26,10 +38,14 @@ class UNIXSocket < BasicSocket
26
38
  # s1.send "b", 0
27
39
  # p s2.recv(10) #=> "ab"
28
40
  #
29
- def self.socketpair: (?Symbol socktype, ?Integer protocol) -> [instance, instance]
41
+ def self.socketpair: (?Symbol socktype, ?Integer protocol) -> [ instance, instance ]
30
42
 
31
43
  public
32
44
 
45
+ # <!--
46
+ # rdoc-file=ext/socket/unixsocket.c
47
+ # - unixsocket.addr => [address_family, unix_path]
48
+ # -->
33
49
  # Returns the local address as an array which contains address_family and
34
50
  # unix_path.
35
51
  #
@@ -37,8 +53,12 @@ class UNIXSocket < BasicSocket
37
53
  # serv = UNIXServer.new("/tmp/sock")
38
54
  # p serv.addr #=> ["AF_UNIX", "/tmp/sock"]
39
55
  #
40
- def addr: () -> [String, String]
56
+ def addr: () -> [ String, String ]
41
57
 
58
+ # <!--
59
+ # rdoc-file=ext/socket/unixsocket.c
60
+ # - unixsocket.path => path
61
+ # -->
42
62
  # Returns the path of the local address of unixsocket.
43
63
  #
44
64
  # s = UNIXServer.new("/tmp/sock")
@@ -46,6 +66,10 @@ class UNIXSocket < BasicSocket
46
66
  #
47
67
  def path: () -> String
48
68
 
69
+ # <!--
70
+ # rdoc-file=ext/socket/unixsocket.c
71
+ # - unixsocket.peeraddr => [address_family, unix_path]
72
+ # -->
49
73
  # Returns the remote address as an array which contains address_family and
50
74
  # unix_path.
51
75
  #
@@ -54,8 +78,12 @@ class UNIXSocket < BasicSocket
54
78
  # c = UNIXSocket.new("/tmp/sock")
55
79
  # p c.peeraddr #=> ["AF_UNIX", "/tmp/sock"]
56
80
  #
57
- def peeraddr: () -> [String, String]
81
+ def peeraddr: () -> [ String, String ]
58
82
 
83
+ # <!--
84
+ # rdoc-file=ext/socket/unixsocket.c
85
+ # - unixsocket.recv_io([klass [, mode]]) => io
86
+ # -->
59
87
  # Example
60
88
  #
61
89
  # UNIXServer.open("/tmp/sock") {|serv|
@@ -80,6 +108,10 @@ class UNIXSocket < BasicSocket
80
108
  #
81
109
  def recv_io: (?singleton(BasicSocket), ?String mode) -> BasicSocket
82
110
 
111
+ # <!--
112
+ # rdoc-file=ext/socket/unixsocket.c
113
+ # - unixsocket.recvfrom(maxlen [, flags[, outbuf]]) => [mesg, unixaddress]
114
+ # -->
83
115
  # Receives a message via *unixsocket*.
84
116
  #
85
117
  # *maxlen* is the maximum number of bytes to receive.
@@ -101,8 +133,12 @@ class UNIXSocket < BasicSocket
101
133
  # s1.send "a", 0, s2_ai
102
134
  # p s3.recvfrom(10) #=> ["a", ["AF_UNIX", "/tmp/sock1"]]
103
135
  #
104
- def recvfrom: (Integer maxlen, ?Integer flags, ?String outbuf) -> [String, [String, String]]
136
+ def recvfrom: (Integer maxlen, ?Integer flags, ?String outbuf) -> [ String, [ String, String ] ]
105
137
 
138
+ # <!--
139
+ # rdoc-file=ext/socket/unixsocket.c
140
+ # - unixsocket.send_io(io) => nil
141
+ # -->
106
142
  # Sends *io* as file descriptor passing.
107
143
  #
108
144
  # s1, s2 = UNIXSocket.pair
@@ -121,6 +157,10 @@ class UNIXSocket < BasicSocket
121
157
 
122
158
  private
123
159
 
160
+ # <!--
161
+ # rdoc-file=ext/socket/unixsocket.c
162
+ # - UNIXSocket.new(path) => unixsocket
163
+ # -->
124
164
  # Creates a new UNIX client socket connected to *path*.
125
165
  #
126
166
  # require 'socket'