rbs 3.6.1 → 3.9.5

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 (268) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/comments.yml +2 -2
  3. data/.github/workflows/dependabot.yml +1 -1
  4. data/.github/workflows/ruby.yml +34 -10
  5. data/.github/workflows/windows.yml +20 -3
  6. data/.gitignore +1 -0
  7. data/.rubocop.yml +26 -1
  8. data/CHANGELOG.md +241 -0
  9. data/Rakefile +54 -4
  10. data/config.yml +317 -0
  11. data/core/array.rbs +1756 -1591
  12. data/core/basic_object.rbs +38 -35
  13. data/core/comparable.rbs +1 -1
  14. data/core/complex.rbs +166 -94
  15. data/core/data.rbs +2 -2
  16. data/core/dir.rbs +2 -18
  17. data/core/encoding.rbs +12 -32
  18. data/core/enumerable.rbs +270 -266
  19. data/core/enumerator.rbs +14 -4
  20. data/core/env.rbs +1 -1
  21. data/core/errno.rbs +33 -16
  22. data/core/errors.rbs +6 -2
  23. data/core/exception.rbs +342 -167
  24. data/core/fiber.rbs +3 -2
  25. data/core/file.rbs +26 -75
  26. data/core/float.rbs +125 -72
  27. data/core/gc.rbs +158 -42
  28. data/core/hash.rbs +122 -143
  29. data/core/integer.rbs +79 -50
  30. data/core/io/buffer.rbs +49 -43
  31. data/core/io.rbs +108 -151
  32. data/core/kernel.rbs +341 -209
  33. data/core/match_data.rbs +76 -2
  34. data/core/math.rbs +0 -36
  35. data/core/method.rbs +2 -2
  36. data/core/module.rbs +32 -27
  37. data/core/nil_class.rbs +2 -2
  38. data/core/numeric.rbs +101 -104
  39. data/core/object.rbs +1 -5
  40. data/core/object_space/weak_key_map.rbs +3 -4
  41. data/core/object_space.rbs +3 -3
  42. data/core/proc.rbs +82 -14
  43. data/core/process.rbs +110 -58
  44. data/core/ractor.rbs +57 -4
  45. data/core/range.rbs +114 -87
  46. data/core/rational.rbs +0 -2
  47. data/core/rbs/unnamed/argf.rbs +237 -36
  48. data/core/rbs/unnamed/env_class.rbs +35 -53
  49. data/core/rbs/unnamed/random.rbs +1 -2
  50. data/core/regexp.rbs +10 -56
  51. data/core/ruby_vm.rbs +88 -9
  52. data/core/rubygems/config_file.rbs +3 -0
  53. data/core/rubygems/errors.rbs +3 -6
  54. data/core/rubygems/platform.rbs +0 -9
  55. data/core/rubygems/rubygems.rbs +3 -6
  56. data/core/rubygems/version.rbs +8 -8
  57. data/core/set.rbs +4 -16
  58. data/core/string.rbs +271 -264
  59. data/core/struct.rbs +6 -18
  60. data/core/symbol.rbs +14 -21
  61. data/core/thread.rbs +32 -35
  62. data/core/time.rbs +131 -50
  63. data/core/trace_point.rbs +124 -113
  64. data/core/true_class.rbs +0 -1
  65. data/core/unbound_method.rbs +1 -1
  66. data/core/warning.rbs +9 -2
  67. data/docs/architecture.md +1 -1
  68. data/docs/syntax.md +17 -10
  69. data/ext/rbs_extension/extconf.rb +11 -0
  70. data/ext/rbs_extension/location.c +61 -29
  71. data/ext/rbs_extension/location.h +4 -3
  72. data/ext/rbs_extension/main.c +23 -1
  73. data/ext/rbs_extension/parser.c +506 -517
  74. data/ext/rbs_extension/parserstate.c +109 -30
  75. data/ext/rbs_extension/parserstate.h +6 -4
  76. data/ext/rbs_extension/rbs_extension.h +1 -10
  77. data/{ext/rbs_extension → include/rbs}/constants.h +21 -19
  78. data/include/rbs/ruby_objs.h +72 -0
  79. data/include/rbs/util/rbs_constant_pool.h +219 -0
  80. data/include/rbs.h +7 -0
  81. data/lib/rbs/annotate/annotations.rb +3 -3
  82. data/lib/rbs/annotate/rdoc_source.rb +2 -2
  83. data/lib/rbs/ast/declarations.rb +9 -4
  84. data/lib/rbs/ast/directives.rb +10 -0
  85. data/lib/rbs/ast/members.rb +2 -0
  86. data/lib/rbs/ast/type_param.rb +2 -12
  87. data/lib/rbs/cli/diff.rb +3 -3
  88. data/lib/rbs/cli/validate.rb +2 -1
  89. data/lib/rbs/cli.rb +16 -16
  90. data/lib/rbs/collection/config/lockfile_generator.rb +58 -8
  91. data/lib/rbs/collection/config.rb +5 -3
  92. data/lib/rbs/collection/sources/rubygems.rb +1 -1
  93. data/lib/rbs/collection.rb +1 -0
  94. data/lib/rbs/definition.rb +51 -34
  95. data/lib/rbs/definition_builder/ancestor_builder.rb +5 -3
  96. data/lib/rbs/definition_builder.rb +83 -24
  97. data/lib/rbs/environment.rb +33 -18
  98. data/lib/rbs/environment_loader.rb +6 -1
  99. data/lib/rbs/errors.rb +24 -0
  100. data/lib/rbs/locator.rb +2 -0
  101. data/lib/rbs/method_type.rb +2 -0
  102. data/lib/rbs/namespace.rb +1 -0
  103. data/lib/rbs/parser_aux.rb +40 -3
  104. data/lib/rbs/prototype/rb.rb +20 -12
  105. data/lib/rbs/prototype/rbi.rb +11 -6
  106. data/lib/rbs/prototype/runtime/value_object_generator.rb +7 -5
  107. data/lib/rbs/prototype/runtime.rb +7 -5
  108. data/lib/rbs/subtractor.rb +3 -3
  109. data/lib/rbs/test/hook.rb +47 -42
  110. data/lib/rbs/test/type_check.rb +7 -5
  111. data/lib/rbs/type_name.rb +14 -9
  112. data/lib/rbs/types.rb +63 -14
  113. data/lib/rbs/unit_test/spy.rb +4 -2
  114. data/lib/rbs/unit_test/type_assertions.rb +19 -13
  115. data/lib/rbs/unit_test/with_aliases.rb +3 -1
  116. data/lib/rbs/validator.rb +7 -1
  117. data/lib/rbs/version.rb +1 -1
  118. data/lib/rbs/writer.rb +10 -5
  119. data/lib/rbs.rb +1 -0
  120. data/lib/rdoc_plugin/parser.rb +2 -2
  121. data/rbs.gemspec +6 -2
  122. data/sig/ancestor_graph.rbs +5 -5
  123. data/sig/annotate/rdoc_source.rbs +2 -0
  124. data/sig/cli.rbs +2 -0
  125. data/sig/collection/config/lockfile_generator.rbs +9 -1
  126. data/sig/declarations.rbs +10 -3
  127. data/sig/definition.rbs +80 -12
  128. data/sig/definition_builder.rbs +18 -4
  129. data/sig/directives.rbs +17 -1
  130. data/sig/environment.rbs +3 -1
  131. data/sig/errors.rbs +19 -0
  132. data/sig/namespace.rbs +2 -3
  133. data/sig/parser.rbs +5 -1
  134. data/sig/prototype/rb.rbs +1 -1
  135. data/sig/resolver/constant_resolver.rbs +2 -2
  136. data/sig/resolver/context.rbs +1 -1
  137. data/sig/subtractor.rbs +1 -1
  138. data/sig/test/type_check.rbs +2 -2
  139. data/sig/type_alias_dependency.rbs +2 -2
  140. data/sig/type_alias_regularity.rbs +6 -6
  141. data/sig/type_param.rbs +4 -4
  142. data/sig/typename.rbs +8 -5
  143. data/sig/types.rbs +1 -1
  144. data/sig/unit_test/spy.rbs +2 -0
  145. data/sig/unit_test/type_assertions.rbs +2 -0
  146. data/sig/use_map.rbs +1 -1
  147. data/sig/validator.rbs +6 -2
  148. data/sig/vendorer.rbs +1 -1
  149. data/sig/writer.rbs +1 -1
  150. data/{ext/rbs_extension → src}/constants.c +35 -36
  151. data/src/ruby_objs.c +799 -0
  152. data/src/util/rbs_constant_pool.c +342 -0
  153. data/stdlib/base64/0/base64.rbs +0 -9
  154. data/stdlib/benchmark/0/benchmark.rbs +11 -2
  155. data/stdlib/bigdecimal/0/big_decimal.rbs +26 -182
  156. data/stdlib/cgi/0/core.rbs +60 -3
  157. data/stdlib/cgi/0/manifest.yaml +1 -0
  158. data/stdlib/coverage/0/coverage.rbs +0 -3
  159. data/stdlib/csv/0/csv.rbs +18 -58
  160. data/stdlib/csv/0/manifest.yaml +1 -0
  161. data/stdlib/date/0/date.rbs +27 -42
  162. data/stdlib/did_you_mean/0/did_you_mean.rbs +1 -6
  163. data/stdlib/digest/0/digest.rbs +25 -2
  164. data/stdlib/erb/0/erb.rbs +0 -1
  165. data/stdlib/etc/0/etc.rbs +51 -34
  166. data/stdlib/fileutils/0/fileutils.rbs +3 -44
  167. data/stdlib/io-console/0/io-console.rbs +69 -15
  168. data/stdlib/ipaddr/0/ipaddr.rbs +16 -4
  169. data/stdlib/json/0/json.rbs +107 -120
  170. data/stdlib/logger/0/log_device.rbs +1 -1
  171. data/stdlib/logger/0/logger.rbs +3 -18
  172. data/stdlib/minitest/0/kernel.rbs +2 -2
  173. data/stdlib/minitest/0/minitest/abstract_reporter.rbs +4 -1
  174. data/stdlib/minitest/0/minitest/assertion.rbs +1 -0
  175. data/stdlib/minitest/0/minitest/assertions.rbs +58 -13
  176. data/stdlib/minitest/0/minitest/backtrace_filter.rbs +7 -0
  177. data/stdlib/minitest/0/minitest/bench_spec.rbs +8 -8
  178. data/stdlib/minitest/0/minitest/benchmark.rbs +17 -16
  179. data/stdlib/minitest/0/minitest/compress.rbs +13 -0
  180. data/stdlib/minitest/0/minitest/error_on_warning.rbs +3 -0
  181. data/stdlib/minitest/0/minitest/mock.rbs +9 -5
  182. data/stdlib/minitest/0/minitest/parallel/executor.rbs +4 -0
  183. data/stdlib/minitest/0/minitest/parallel/test/class_methods.rbs +0 -1
  184. data/stdlib/minitest/0/minitest/pride_io.rbs +8 -0
  185. data/stdlib/minitest/0/minitest/pride_lol.rbs +2 -0
  186. data/stdlib/minitest/0/minitest/progress_reporter.rbs +1 -1
  187. data/stdlib/minitest/0/minitest/reportable.rbs +2 -0
  188. data/stdlib/minitest/0/minitest/runnable.rbs +33 -1
  189. data/stdlib/minitest/0/minitest/spec/dsl/instance_methods.rbs +1 -1
  190. data/stdlib/minitest/0/minitest/spec/dsl.rbs +10 -6
  191. data/stdlib/minitest/0/minitest/spec.rbs +1 -1
  192. data/stdlib/minitest/0/minitest/statistics_reporter.rbs +5 -0
  193. data/stdlib/minitest/0/minitest/summary_reporter.rbs +0 -7
  194. data/stdlib/minitest/0/minitest/test/lifecycle_hooks.rbs +1 -1
  195. data/stdlib/minitest/0/minitest/test.rbs +7 -14
  196. data/stdlib/minitest/0/minitest/unexpected_error.rbs +2 -0
  197. data/stdlib/minitest/0/minitest/unexpected_warning.rbs +6 -0
  198. data/stdlib/minitest/0/minitest/unit.rbs +1 -2
  199. data/stdlib/minitest/0/minitest.rbs +41 -892
  200. data/stdlib/monitor/0/monitor.rbs +13 -4
  201. data/stdlib/net-http/0/net-http.rbs +42 -109
  202. data/stdlib/nkf/0/nkf.rbs +30 -0
  203. data/stdlib/objspace/0/objspace.rbs +1 -2
  204. data/stdlib/observable/0/observable.rbs +1 -1
  205. data/stdlib/open-uri/0/manifest.yaml +1 -0
  206. data/stdlib/open-uri/0/open-uri.rbs +52 -0
  207. data/stdlib/open3/0/open3.rbs +0 -8
  208. data/stdlib/openssl/0/manifest.yaml +1 -0
  209. data/stdlib/openssl/0/openssl.rbs +235 -143
  210. data/stdlib/optparse/0/optparse.rbs +58 -18
  211. data/stdlib/pathname/0/pathname.rbs +2 -8
  212. data/stdlib/pp/0/pp.rbs +3 -1
  213. data/stdlib/prettyprint/0/prettyprint.rbs +0 -4
  214. data/stdlib/pstore/0/pstore.rbs +0 -6
  215. data/stdlib/psych/0/core_ext.rbs +12 -0
  216. data/stdlib/psych/0/psych.rbs +15 -4
  217. data/stdlib/pty/0/pty.rbs +46 -4
  218. data/stdlib/rdoc/0/code_object.rbs +0 -4
  219. data/stdlib/rdoc/0/markup.rbs +10 -12
  220. data/stdlib/rdoc/0/rdoc.rbs +13 -8
  221. data/stdlib/resolv/0/resolv.rbs +21 -12
  222. data/stdlib/ripper/0/ripper.rbs +0 -2
  223. data/stdlib/securerandom/0/securerandom.rbs +7 -2
  224. data/stdlib/shellwords/0/shellwords.rbs +11 -12
  225. data/stdlib/singleton/0/singleton.rbs +0 -1
  226. data/stdlib/socket/0/addrinfo.rbs +1 -2
  227. data/stdlib/socket/0/basic_socket.rbs +0 -5
  228. data/stdlib/socket/0/socket.rbs +32 -27
  229. data/stdlib/socket/0/tcp_server.rbs +0 -3
  230. data/stdlib/socket/0/tcp_socket.rbs +36 -3
  231. data/stdlib/socket/0/udp_socket.rbs +0 -1
  232. data/stdlib/socket/0/unix_server.rbs +0 -3
  233. data/stdlib/socket/0/unix_socket.rbs +4 -2
  234. data/{core/string_io.rbs → stdlib/stringio/0/stringio.rbs} +1 -1
  235. data/stdlib/strscan/0/string_scanner.rbs +1265 -422
  236. data/stdlib/tempfile/0/tempfile.rbs +135 -28
  237. data/stdlib/time/0/time.rbs +48 -35
  238. data/stdlib/timeout/0/timeout.rbs +11 -8
  239. data/stdlib/tmpdir/0/tmpdir.rbs +10 -3
  240. data/stdlib/tsort/0/tsort.rbs +0 -4
  241. data/stdlib/uri/0/common.rbs +28 -30
  242. data/stdlib/uri/0/ftp.rbs +1 -1
  243. data/stdlib/uri/0/generic.rbs +22 -18
  244. data/stdlib/uri/0/http.rbs +2 -2
  245. data/stdlib/uri/0/rfc2396_parser.rbs +3 -0
  246. data/stdlib/zlib/0/buf_error.rbs +1 -70
  247. data/stdlib/zlib/0/data_error.rbs +1 -70
  248. data/stdlib/zlib/0/deflate.rbs +8 -72
  249. data/stdlib/zlib/0/error.rbs +1 -70
  250. data/stdlib/zlib/0/gzip_file/crc_error.rbs +2 -105
  251. data/stdlib/zlib/0/gzip_file/error.rbs +2 -105
  252. data/stdlib/zlib/0/gzip_file/length_error.rbs +2 -105
  253. data/stdlib/zlib/0/gzip_file/no_footer.rbs +2 -105
  254. data/stdlib/zlib/0/gzip_file.rbs +1 -71
  255. data/stdlib/zlib/0/gzip_reader.rbs +3 -74
  256. data/stdlib/zlib/0/gzip_writer.rbs +1 -70
  257. data/stdlib/zlib/0/inflate.rbs +4 -71
  258. data/stdlib/zlib/0/mem_error.rbs +1 -70
  259. data/stdlib/zlib/0/need_dict.rbs +1 -70
  260. data/stdlib/zlib/0/stream_end.rbs +1 -70
  261. data/stdlib/zlib/0/stream_error.rbs +1 -70
  262. data/stdlib/zlib/0/version_error.rbs +1 -70
  263. data/stdlib/zlib/0/zlib.rbs +0 -2
  264. data/stdlib/zlib/0/zstream.rbs +4 -72
  265. metadata +17 -13
  266. data/ext/rbs_extension/ruby_objs.c +0 -602
  267. data/ext/rbs_extension/ruby_objs.h +0 -51
  268. data/stdlib/minitest/0/manifest.yaml +0 -2
@@ -71,11 +71,6 @@
71
71
  # # => NoMethodError (undefined method `zeor?' for 1:Integer)
72
72
  #
73
73
  module DidYouMean
74
- # <!-- rdoc-file=lib/did_you_mean.rb -->
75
- # TODO: Remove on the 3.4 development start:
76
- #
77
- SPELL_CHECKERS: untyped
78
-
79
74
  NameErrorCheckers: Object
80
75
 
81
76
  VERSION: String
@@ -243,7 +238,7 @@ module DidYouMean
243
238
  # - requireables()
244
239
  # -->
245
240
  #
246
- def self.requireables: -> Array[String]
241
+ def self.requireables: () -> Array[String]
247
242
 
248
243
  # <!--
249
244
  # rdoc-file=lib/did_you_mean/spell_checkers/require_path_checker.rb
@@ -51,11 +51,14 @@
51
51
  #
52
52
  # MD5
53
53
  # : See RFC 1321 The MD5 Message-Digest Algorithm
54
+ #
54
55
  # RIPEMD-160
55
56
  # : As Digest::RMD160. See
56
57
  # http://homes.esat.kuleuven.be/~bosselae/ripemd160.html.
58
+ #
57
59
  # SHA1
58
60
  # : See FIPS 180 Secure Hash Standard.
61
+ #
59
62
  # SHA2 family
60
63
  # : See FIPS 180 Secure Hash Standard which defines the following algorithms:
61
64
  # * SHA512
@@ -63,7 +66,6 @@
63
66
  # * SHA256
64
67
  #
65
68
  #
66
- #
67
69
  # The latest versions of the FIPS publications can be found here:
68
70
  # http://csrc.nist.gov/publications/PubsFIPS.html.
69
71
  #
@@ -398,7 +400,7 @@ end
398
400
  # };
399
401
  #
400
402
  # rb_ivar_set(cDigest_SHA1, rb_intern("metadata"),
401
- # Data_Wrap_Struct(0, 0, 0, (void *)&sha1));
403
+ # rb_digest_make_metadata(&sha1));
402
404
  #
403
405
  class Digest::Base < Digest::Class
404
406
  # <!-- rdoc-file=ext/digest/digest.c -->
@@ -521,12 +523,33 @@ end
521
523
  class Digest::RMD160 < Digest::Base
522
524
  end
523
525
 
526
+ # <!-- rdoc-file=ext/digest/sha2/sha2init.c -->
527
+ # Classes for calculating message digests using the SHA-256/384/512 Secure Hash
528
+ # Algorithm(s) by NIST (the US' National Institute of Standards and Technology),
529
+ # described in FIPS PUB 180-2.
530
+ #
531
+ # See SHA2.
532
+ #
524
533
  class Digest::SHA256 < Digest::Base
525
534
  end
526
535
 
536
+ # <!-- rdoc-file=ext/digest/sha2/sha2init.c -->
537
+ # Classes for calculating message digests using the SHA-256/384/512 Secure Hash
538
+ # Algorithm(s) by NIST (the US' National Institute of Standards and Technology),
539
+ # described in FIPS PUB 180-2.
540
+ #
541
+ # See SHA2.
542
+ #
527
543
  class Digest::SHA384 < Digest::Base
528
544
  end
529
545
 
546
+ # <!-- rdoc-file=ext/digest/sha2/sha2init.c -->
547
+ # Classes for calculating message digests using the SHA-256/384/512 Secure Hash
548
+ # Algorithm(s) by NIST (the US' National Institute of Standards and Technology),
549
+ # described in FIPS PUB 180-2.
550
+ #
551
+ # See SHA2.
552
+ #
530
553
  class Digest::SHA512 < Digest::Base
531
554
  end
532
555
 
data/stdlib/erb/0/erb.rbs CHANGED
@@ -41,7 +41,6 @@
41
41
  # * the nature of the tags that are recognized;
42
42
  # * the binding used to resolve local variables in the template.
43
43
  #
44
- #
45
44
  # See the ERB.new and ERB#result methods for more detail.
46
45
  #
47
46
  # ## Character encodings
data/stdlib/etc/0/etc.rbs CHANGED
@@ -9,7 +9,7 @@
9
9
  # The Etc module provides a more reliable way to access information about the
10
10
  # logged in user than environment variables such as +$USER+.
11
11
  #
12
- # ## Example:
12
+ # **Example:**
13
13
  #
14
14
  # require 'etc'
15
15
  #
@@ -27,7 +27,7 @@
27
27
  module Etc
28
28
  # <!--
29
29
  # rdoc-file=ext/etc/etc.c
30
- # - confstr(p1)
30
+ # - confstr(name) -> String
31
31
  # -->
32
32
  # Returns system configuration variable using confstr().
33
33
  #
@@ -46,7 +46,7 @@ module Etc
46
46
 
47
47
  # <!--
48
48
  # rdoc-file=ext/etc/etc.c
49
- # - endgrent()
49
+ # - endgrent
50
50
  # -->
51
51
  # Ends the process of scanning through the `/etc/group` file begun by
52
52
  # ::getgrent, and closes the file.
@@ -55,7 +55,7 @@ module Etc
55
55
 
56
56
  # <!--
57
57
  # rdoc-file=ext/etc/etc.c
58
- # - endpwent()
58
+ # - endpwent
59
59
  # -->
60
60
  # Ends the process of scanning through the `/etc/passwd` file begun with
61
61
  # ::getpwent, and closes the file.
@@ -64,7 +64,7 @@ module Etc
64
64
 
65
65
  # <!--
66
66
  # rdoc-file=ext/etc/etc.c
67
- # - getgrent()
67
+ # - getgrent -> Etc::Group
68
68
  # -->
69
69
  # Returns an entry from the `/etc/group` file.
70
70
  #
@@ -80,7 +80,7 @@ module Etc
80
80
 
81
81
  # <!--
82
82
  # rdoc-file=ext/etc/etc.c
83
- # - getgrgid(group_id) -> Group
83
+ # - getgrgid(group_id) -> Etc::Group
84
84
  # -->
85
85
  # Returns information about the group with specified integer `group_id`, as
86
86
  # found in `/etc/group`.
@@ -89,7 +89,7 @@ module Etc
89
89
  #
90
90
  # See the unix manpage for `getgrgid(3)` for more detail.
91
91
  #
92
- # ### Example:
92
+ # **Example:**
93
93
  #
94
94
  # Etc.getgrgid(100)
95
95
  # #=> #<struct Etc::Group name="users", passwd="x", gid=100, mem=["meta", "root"]>
@@ -98,7 +98,7 @@ module Etc
98
98
 
99
99
  # <!--
100
100
  # rdoc-file=ext/etc/etc.c
101
- # - getgrnam(name) -> Group
101
+ # - getgrnam(name) -> Etc::Group
102
102
  # -->
103
103
  # Returns information about the group with specified `name`, as found in
104
104
  # `/etc/group`.
@@ -107,7 +107,7 @@ module Etc
107
107
  #
108
108
  # See the unix manpage for `getgrnam(3)` for more detail.
109
109
  #
110
- # ### Example:
110
+ # **Example:**
111
111
  #
112
112
  # Etc.getgrnam('users')
113
113
  # #=> #<struct Etc::Group name="users", passwd="x", gid=100, mem=["meta", "root"]>
@@ -134,7 +134,7 @@ module Etc
134
134
 
135
135
  # <!--
136
136
  # rdoc-file=ext/etc/etc.c
137
- # - getpwent()
137
+ # - getpwent -> Etc::Passwd
138
138
  # -->
139
139
  # Returns an entry from the `/etc/passwd` file.
140
140
  #
@@ -150,7 +150,7 @@ module Etc
150
150
 
151
151
  # <!--
152
152
  # rdoc-file=ext/etc/etc.c
153
- # - getpwnam(name) -> Passwd
153
+ # - getpwnam(name) -> Etc::Passwd
154
154
  # -->
155
155
  # Returns the `/etc/passwd` information for the user with specified login
156
156
  # `name`.
@@ -159,7 +159,7 @@ module Etc
159
159
  #
160
160
  # See the unix manpage for `getpwnam(3)` for more detail.
161
161
  #
162
- # ### Example:
162
+ # **Example:**
163
163
  #
164
164
  # Etc.getpwnam('root')
165
165
  # #=> #<struct Etc::Passwd name="root", passwd="x", uid=0, gid=0, gecos="root",dir="/root", shell="/bin/bash">
@@ -168,7 +168,7 @@ module Etc
168
168
 
169
169
  # <!--
170
170
  # rdoc-file=ext/etc/etc.c
171
- # - getpwuid(uid) -> Passwd
171
+ # - getpwuid(uid) -> Etc::Passwd
172
172
  # -->
173
173
  # Returns the `/etc/passwd` information for the user with the given integer
174
174
  # `uid`.
@@ -179,7 +179,7 @@ module Etc
179
179
  #
180
180
  # See the unix manpage for `getpwuid(3)` for more detail.
181
181
  #
182
- # ### Example:
182
+ # **Example:**
183
183
  #
184
184
  # Etc.getpwuid(0)
185
185
  # #=> #<struct Etc::Passwd name="root", passwd="x", uid=0, gid=0, gecos="root",dir="/root", shell="/bin/bash">
@@ -188,7 +188,8 @@ module Etc
188
188
 
189
189
  # <!--
190
190
  # rdoc-file=ext/etc/etc.c
191
- # - group()
191
+ # - group { |struct| block }
192
+ # - group -> Etc::Group
192
193
  # -->
193
194
  # Provides a convenient Ruby iterator which executes a block for each entry in
194
195
  # the `/etc/group` file.
@@ -197,7 +198,7 @@ module Etc
197
198
  #
198
199
  # See ::getgrent above for details.
199
200
  #
200
- # Example:
201
+ # **Example:**
201
202
  #
202
203
  # require 'etc'
203
204
  #
@@ -210,7 +211,7 @@ module Etc
210
211
 
211
212
  # <!--
212
213
  # rdoc-file=ext/etc/etc.c
213
- # - nprocessors()
214
+ # - nprocessors -> Integer
214
215
  # -->
215
216
  # Returns the number of online processors.
216
217
  #
@@ -222,8 +223,7 @@ module Etc
222
223
  # * sysconf(_SC_NPROCESSORS_ONLN): GNU/Linux, NetBSD, FreeBSD, OpenBSD,
223
224
  # DragonFly BSD, OpenIndiana, Mac OS X, AIX
224
225
  #
225
- #
226
- # Example:
226
+ # **Example:**
227
227
  #
228
228
  # require 'etc'
229
229
  # p Etc.nprocessors #=> 4
@@ -232,7 +232,7 @@ module Etc
232
232
  # process is bound to specific cpus. This is intended for getting better
233
233
  # parallel processing.
234
234
  #
235
- # Example: (Linux)
235
+ # **Example:** (Linux)
236
236
  #
237
237
  # linux$ taskset 0x3 ./ruby -retc -e "p Etc.nprocessors" #=> 2
238
238
  #
@@ -240,8 +240,8 @@ module Etc
240
240
 
241
241
  # <!--
242
242
  # rdoc-file=ext/etc/etc.c
243
- # - Etc.passwd { |struct| block } -> Passwd
244
- # - Etc.passwd -> Passwd
243
+ # - passwd { |struct| block }
244
+ # - passwd -> Etc::Passwd
245
245
  # -->
246
246
  # Provides a convenient Ruby iterator which executes a block for each entry in
247
247
  # the `/etc/passwd` file.
@@ -250,7 +250,7 @@ module Etc
250
250
  #
251
251
  # See ::getpwent above for details.
252
252
  #
253
- # Example:
253
+ # **Example:**
254
254
  #
255
255
  # require 'etc'
256
256
  #
@@ -263,7 +263,7 @@ module Etc
263
263
 
264
264
  # <!--
265
265
  # rdoc-file=ext/etc/etc.c
266
- # - setgrent()
266
+ # - setgrent
267
267
  # -->
268
268
  # Resets the process of reading the `/etc/group` file, so that the next call to
269
269
  # ::getgrent will return the first entry again.
@@ -272,7 +272,7 @@ module Etc
272
272
 
273
273
  # <!--
274
274
  # rdoc-file=ext/etc/etc.c
275
- # - setpwent()
275
+ # - setpwent
276
276
  # -->
277
277
  # Resets the process of reading the `/etc/passwd` file, so that the next call to
278
278
  # ::getpwent will return the first entry again.
@@ -281,7 +281,7 @@ module Etc
281
281
 
282
282
  # <!--
283
283
  # rdoc-file=ext/etc/etc.c
284
- # - sysconf(p1)
284
+ # - sysconf(name) -> Integer
285
285
  # -->
286
286
  # Returns system configuration variable using sysconf().
287
287
  #
@@ -297,7 +297,7 @@ module Etc
297
297
 
298
298
  # <!--
299
299
  # rdoc-file=ext/etc/etc.c
300
- # - sysconfdir()
300
+ # - sysconfdir -> String
301
301
  # -->
302
302
  # Returns system configuration directory.
303
303
  #
@@ -311,7 +311,7 @@ module Etc
311
311
 
312
312
  # <!--
313
313
  # rdoc-file=ext/etc/etc.c
314
- # - systmpdir()
314
+ # - systmpdir -> String
315
315
  # -->
316
316
  # Returns system temporary directory; typically "/tmp".
317
317
  #
@@ -319,14 +319,14 @@ module Etc
319
319
 
320
320
  # <!--
321
321
  # rdoc-file=ext/etc/etc.c
322
- # - uname()
322
+ # - uname -> hash
323
323
  # -->
324
324
  # Returns the system information obtained by uname system call.
325
325
  #
326
326
  # The return value is a hash which has 5 keys at least:
327
327
  # :sysname, :nodename, :release, :version, :machine
328
328
  #
329
- # Example:
329
+ # **Example:**
330
330
  #
331
331
  # require 'etc'
332
332
  # require 'pp'
@@ -652,6 +652,9 @@ module Etc
652
652
 
653
653
  SC_XOPEN_VERSION: Integer
654
654
 
655
+ # <!-- rdoc-file=ext/etc/etc.c -->
656
+ # The version
657
+ #
655
658
  VERSION: String
656
659
 
657
660
  # <!-- rdoc-file=ext/etc/etc.c -->
@@ -661,13 +664,16 @@ module Etc
661
664
  #
662
665
  # name
663
666
  # : contains the name of the group as a String.
667
+ #
664
668
  # passwd
665
669
  # : contains the encrypted password as a String. An `'x'` is returned if
666
670
  # password access to the group is not available; an empty string is returned
667
671
  # if no password is needed to obtain membership of the group. This is
668
672
  # system-dependent.
673
+ #
669
674
  # gid
670
675
  # : contains the group's numeric ID as an integer.
676
+ #
671
677
  # mem
672
678
  # : is an Array of Strings containing the short login names of the members of
673
679
  # the group.
@@ -679,7 +685,7 @@ module Etc
679
685
 
680
686
  # <!--
681
687
  # rdoc-file=ext/etc/etc.c
682
- # - Etc::Group.each { |group| block } -> obj
688
+ # - Etc::Group.each { |group| block } -> Etc::Group
683
689
  # - Etc::Group.each -> Enumerator
684
690
  # -->
685
691
  # Iterates for each entry in the `/etc/group` file if a block is given.
@@ -688,7 +694,7 @@ module Etc
688
694
  #
689
695
  # The code block is passed a Group struct.
690
696
  #
691
- # Example:
697
+ # **Example:**
692
698
  #
693
699
  # require 'etc'
694
700
  #
@@ -733,16 +739,21 @@ module Etc
733
739
  #
734
740
  # name
735
741
  # : contains the short login name of the user as a String.
742
+ #
736
743
  # passwd
737
744
  # : contains the encrypted password of the user as a String. an `'x'` is
738
745
  # returned if shadow passwords are in use. An `'*'` is returned if the user
739
746
  # cannot log in using a password.
747
+ #
740
748
  # uid
741
749
  # : contains the integer user ID (uid) of the user.
750
+ #
742
751
  # gid
743
752
  # : contains the integer group ID (gid) of the user's primary group.
753
+ #
744
754
  # dir
745
755
  # : contains the path to the home directory of the user as a String.
756
+ #
746
757
  # shell
747
758
  # : contains the path to the login shell of the user as a String.
748
759
  #
@@ -753,16 +764,22 @@ module Etc
753
764
  # : contains a longer String description of the user, such as a full name.
754
765
  # Some Unix systems provide structured information in the gecos field, but
755
766
  # this is system-dependent.
767
+ #
756
768
  # change
757
769
  # : password change time(integer).
770
+ #
758
771
  # quota
759
772
  # : quota value(integer).
773
+ #
760
774
  # age
761
775
  # : password age(integer).
776
+ #
762
777
  # class
763
778
  # : user access class(string).
779
+ #
764
780
  # comment
765
781
  # : comment(string).
782
+ #
766
783
  # expire
767
784
  # : account expiration time(integer).
768
785
  #
@@ -773,7 +790,7 @@ module Etc
773
790
 
774
791
  # <!--
775
792
  # rdoc-file=ext/etc/etc.c
776
- # - Etc::Passwd.each { |struct| block } -> Passwd
793
+ # - Etc::Passwd.each { |struct| block } -> Etc::Passwd
777
794
  # - Etc::Passwd.each -> Enumerator
778
795
  # -->
779
796
  # Iterates for each entry in the `/etc/passwd` file if a block is given.
@@ -784,7 +801,7 @@ module Etc
784
801
  #
785
802
  # See Etc.getpwent above for details.
786
803
  #
787
- # Example:
804
+ # **Example:**
788
805
  #
789
806
  # require 'etc'
790
807
  #