rbs 3.7.0 → 3.8.0.pre.1

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 (168) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/comments.yml +3 -3
  3. data/.github/workflows/ruby.yml +7 -7
  4. data/CHANGELOG.md +52 -0
  5. data/core/array.rbs +1743 -1580
  6. data/core/basic_object.rbs +38 -35
  7. data/core/comparable.rbs +1 -1
  8. data/core/complex.rbs +165 -93
  9. data/core/data.rbs +1 -1
  10. data/core/dir.rbs +1 -17
  11. data/core/encoding.rbs +12 -6
  12. data/core/enumerable.rbs +270 -266
  13. data/core/enumerator.rbs +0 -2
  14. data/core/env.rbs +1 -1
  15. data/core/errno.rbs +33 -16
  16. data/core/errors.rbs +2 -2
  17. data/core/exception.rbs +236 -170
  18. data/core/fiber.rbs +3 -2
  19. data/core/file.rbs +32 -74
  20. data/core/float.rbs +125 -72
  21. data/core/gc.rbs +138 -40
  22. data/core/hash.rbs +120 -141
  23. data/core/integer.rbs +79 -50
  24. data/core/io/buffer.rbs +49 -43
  25. data/core/io.rbs +97 -144
  26. data/core/kernel.rbs +290 -200
  27. data/core/match_data.rbs +76 -2
  28. data/core/math.rbs +0 -36
  29. data/core/module.rbs +28 -23
  30. data/core/nil_class.rbs +0 -3
  31. data/core/numeric.rbs +100 -103
  32. data/core/object.rbs +0 -4
  33. data/core/object_space/weak_key_map.rbs +3 -4
  34. data/core/object_space.rbs +3 -3
  35. data/core/proc.rbs +0 -2
  36. data/core/process.rbs +109 -57
  37. data/core/ractor.rbs +37 -4
  38. data/core/range.rbs +114 -87
  39. data/core/rational.rbs +0 -2
  40. data/core/rbs/unnamed/argf.rbs +234 -33
  41. data/core/rbs/unnamed/env_class.rbs +35 -53
  42. data/core/rbs/unnamed/random.rbs +1 -2
  43. data/core/regexp.rbs +4 -52
  44. data/core/ruby_vm.rbs +88 -9
  45. data/core/rubygems/config_file.rbs +3 -0
  46. data/core/rubygems/errors.rbs +0 -5
  47. data/core/rubygems/platform.rbs +0 -9
  48. data/core/rubygems/rubygems.rbs +0 -5
  49. data/core/rubygems/version.rbs +6 -6
  50. data/core/set.rbs +3 -15
  51. data/core/string.rbs +130 -136
  52. data/core/struct.rbs +6 -18
  53. data/core/symbol.rbs +14 -21
  54. data/core/thread.rbs +32 -35
  55. data/core/time.rbs +127 -50
  56. data/core/trace_point.rbs +16 -0
  57. data/core/true_class.rbs +0 -1
  58. data/core/warning.rbs +9 -2
  59. data/docs/architecture.md +1 -1
  60. data/docs/syntax.md +1 -1
  61. data/ext/rbs_extension/location.c +29 -19
  62. data/ext/rbs_extension/parser.c +267 -292
  63. data/ext/rbs_extension/parserstate.c +56 -22
  64. data/lib/rbs/annotate/annotations.rb +3 -3
  65. data/lib/rbs/annotate/rdoc_source.rb +2 -2
  66. data/lib/rbs/cli/diff.rb +3 -3
  67. data/lib/rbs/cli/validate.rb +1 -1
  68. data/lib/rbs/cli.rb +13 -13
  69. data/lib/rbs/collection/config.rb +3 -1
  70. data/lib/rbs/definition_builder/ancestor_builder.rb +3 -3
  71. data/lib/rbs/environment_loader.rb +1 -1
  72. data/lib/rbs/namespace.rb +1 -0
  73. data/lib/rbs/parser_aux.rb +2 -2
  74. data/lib/rbs/prototype/rb.rb +11 -8
  75. data/lib/rbs/prototype/rbi.rb +9 -5
  76. data/lib/rbs/prototype/runtime/value_object_generator.rb +7 -5
  77. data/lib/rbs/prototype/runtime.rb +4 -5
  78. data/lib/rbs/type_name.rb +14 -9
  79. data/lib/rbs/unit_test/type_assertions.rb +2 -2
  80. data/lib/rbs/validator.rb +3 -1
  81. data/lib/rbs/version.rb +1 -1
  82. data/lib/rdoc_plugin/parser.rb +2 -2
  83. data/rbs.gemspec +4 -0
  84. data/sig/ancestor_graph.rbs +4 -4
  85. data/sig/namespace.rbs +2 -3
  86. data/sig/resolver/constant_resolver.rbs +2 -2
  87. data/sig/resolver/context.rbs +1 -1
  88. data/sig/type_alias_regularity.rbs +5 -5
  89. data/sig/typename.rbs +8 -5
  90. data/sig/use_map.rbs +1 -1
  91. data/sig/validator.rbs +2 -2
  92. data/stdlib/base64/0/base64.rbs +0 -9
  93. data/stdlib/benchmark/0/benchmark.rbs +11 -2
  94. data/stdlib/bigdecimal/0/big_decimal.rbs +26 -182
  95. data/stdlib/cgi/0/core.rbs +47 -0
  96. data/stdlib/coverage/0/coverage.rbs +0 -3
  97. data/stdlib/csv/0/csv.rbs +18 -58
  98. data/stdlib/date/0/date.rbs +4 -19
  99. data/stdlib/did_you_mean/0/did_you_mean.rbs +0 -5
  100. data/stdlib/digest/0/digest.rbs +25 -2
  101. data/stdlib/erb/0/erb.rbs +0 -1
  102. data/stdlib/etc/0/etc.rbs +51 -34
  103. data/stdlib/fileutils/0/fileutils.rbs +3 -44
  104. data/stdlib/io-console/0/io-console.rbs +69 -15
  105. data/stdlib/ipaddr/0/ipaddr.rbs +8 -4
  106. data/stdlib/json/0/json.rbs +56 -71
  107. data/stdlib/logger/0/log_device.rbs +1 -1
  108. data/stdlib/logger/0/logger.rbs +3 -18
  109. data/stdlib/net-http/0/net-http.rbs +19 -77
  110. data/stdlib/nkf/0/nkf.rbs +30 -0
  111. data/stdlib/objspace/0/objspace.rbs +1 -2
  112. data/stdlib/observable/0/observable.rbs +1 -1
  113. data/stdlib/open-uri/0/open-uri.rbs +52 -0
  114. data/stdlib/open3/0/open3.rbs +0 -8
  115. data/stdlib/openssl/0/openssl.rbs +136 -69
  116. data/stdlib/optparse/0/optparse.rbs +58 -18
  117. data/stdlib/pathname/0/pathname.rbs +2 -8
  118. data/stdlib/pp/0/pp.rbs +3 -1
  119. data/stdlib/prettyprint/0/prettyprint.rbs +0 -4
  120. data/stdlib/pstore/0/pstore.rbs +0 -6
  121. data/stdlib/psych/0/psych.rbs +15 -4
  122. data/stdlib/pty/0/pty.rbs +46 -4
  123. data/stdlib/rdoc/0/code_object.rbs +0 -4
  124. data/stdlib/rdoc/0/markup.rbs +10 -12
  125. data/stdlib/rdoc/0/rdoc.rbs +1 -2
  126. data/stdlib/resolv/0/resolv.rbs +8 -3
  127. data/stdlib/ripper/0/ripper.rbs +0 -2
  128. data/stdlib/securerandom/0/securerandom.rbs +0 -2
  129. data/stdlib/shellwords/0/shellwords.rbs +11 -12
  130. data/stdlib/singleton/0/singleton.rbs +0 -1
  131. data/stdlib/socket/0/addrinfo.rbs +0 -1
  132. data/stdlib/socket/0/basic_socket.rbs +0 -5
  133. data/stdlib/socket/0/socket.rbs +49 -25
  134. data/stdlib/socket/0/tcp_server.rbs +0 -3
  135. data/stdlib/socket/0/tcp_socket.rbs +58 -3
  136. data/stdlib/socket/0/udp_socket.rbs +0 -1
  137. data/stdlib/socket/0/unix_server.rbs +0 -3
  138. data/stdlib/strscan/0/string_scanner.rbs +1265 -422
  139. data/stdlib/tempfile/0/tempfile.rbs +135 -28
  140. data/stdlib/time/0/time.rbs +48 -35
  141. data/stdlib/timeout/0/timeout.rbs +11 -8
  142. data/stdlib/tmpdir/0/tmpdir.rbs +8 -1
  143. data/stdlib/tsort/0/tsort.rbs +0 -4
  144. data/stdlib/uri/0/common.rbs +11 -30
  145. data/stdlib/uri/0/ftp.rbs +1 -1
  146. data/stdlib/uri/0/generic.rbs +22 -18
  147. data/stdlib/uri/0/http.rbs +2 -2
  148. data/stdlib/uri/0/rfc2396_parser.rbs +3 -0
  149. data/stdlib/zlib/0/buf_error.rbs +1 -70
  150. data/stdlib/zlib/0/data_error.rbs +1 -70
  151. data/stdlib/zlib/0/deflate.rbs +8 -72
  152. data/stdlib/zlib/0/error.rbs +1 -70
  153. data/stdlib/zlib/0/gzip_file/crc_error.rbs +2 -105
  154. data/stdlib/zlib/0/gzip_file/error.rbs +2 -105
  155. data/stdlib/zlib/0/gzip_file/length_error.rbs +2 -105
  156. data/stdlib/zlib/0/gzip_file/no_footer.rbs +2 -105
  157. data/stdlib/zlib/0/gzip_file.rbs +1 -71
  158. data/stdlib/zlib/0/gzip_reader.rbs +3 -74
  159. data/stdlib/zlib/0/gzip_writer.rbs +1 -70
  160. data/stdlib/zlib/0/inflate.rbs +4 -71
  161. data/stdlib/zlib/0/mem_error.rbs +1 -70
  162. data/stdlib/zlib/0/need_dict.rbs +1 -70
  163. data/stdlib/zlib/0/stream_end.rbs +1 -70
  164. data/stdlib/zlib/0/stream_error.rbs +1 -70
  165. data/stdlib/zlib/0/version_error.rbs +1 -70
  166. data/stdlib/zlib/0/zlib.rbs +0 -2
  167. data/stdlib/zlib/0/zstream.rbs +4 -72
  168. metadata +4 -6
@@ -7,7 +7,6 @@
7
7
  # * You need only Gregorian dates (and not Julian dates); see [Julian and
8
8
  # Gregorian Calendars](rdoc-ref:calendars.rdoc).
9
9
  #
10
- #
11
10
  # A Date object, once created, is immutable, and cannot be modified.
12
11
  #
13
12
  # ## Creating a Date
@@ -52,7 +51,6 @@
52
51
  # Date.strptime('1999 52 5', '%Y %W %u') # => #<Date: 1999-12-31>
53
52
  # Date.strptime('fri31dec99', '%a%d%b%y') # => #<Date: 1999-12-31>
54
53
  #
55
- #
56
54
  # See also the specialized methods in ["Specialized Format Strings" in Formats
57
55
  # for Dates and
58
56
  # Times](rdoc-ref:strftime_formatting.rdoc@Specialized+Format+Strings)
@@ -311,7 +309,6 @@ class Date
311
309
  # Date.commercial(2020, 1, 1).to_s # => "2019-12-30"
312
310
  # Date.commercial(2020, 1, 7).to_s # => "2020-01-05"
313
311
  #
314
- #
315
312
  # See argument [start](rdoc-ref:calendars.rdoc@Argument+start).
316
313
  #
317
314
  # Related: Date.jd, Date.new, Date.ordinal.
@@ -349,7 +346,6 @@ class Date
349
346
  # * Argument [start](rdoc-ref:calendars.rdoc@Argument+start).
350
347
  # * Argument [limit](rdoc-ref:Date@Argument+limit).
351
348
  #
352
- #
353
349
  # Related: Date._httpdate (returns a hash).
354
350
  #
355
351
  def self.httpdate: (String str, ?Integer start) -> Date
@@ -371,7 +367,6 @@ class Date
371
367
  # * Argument [start](rdoc-ref:calendars.rdoc@Argument+start).
372
368
  # * Argument [limit](rdoc-ref:Date@Argument+limit).
373
369
  #
374
- #
375
370
  # Related: Date._iso8601 (returns a hash).
376
371
  #
377
372
  def self.iso8601: (String str, ?Integer start) -> Date
@@ -398,7 +393,6 @@ class Date
398
393
  #
399
394
  # Date.jd(Date::ITALY - 1).julian? # => true
400
395
  #
401
- #
402
396
  # See argument [start](rdoc-ref:calendars.rdoc@Argument+start).
403
397
  #
404
398
  # Related: Date.new.
@@ -426,7 +420,6 @@ class Date
426
420
  # * Argument [start](rdoc-ref:calendars.rdoc@Argument+start).
427
421
  # * Argument [limit](rdoc-ref:Date@Argument+limit).
428
422
  #
429
- #
430
423
  # Related: Date._jisx0301 (returns a hash).
431
424
  #
432
425
  def self.jisx0301: (String str, ?Integer start) -> Date
@@ -520,7 +513,6 @@ class Date
520
513
  # * Argument [start](rdoc-ref:calendars.rdoc@Argument+start).
521
514
  # * Argument [limit](rdoc-ref:Date@Argument+limit).
522
515
  #
523
- #
524
516
  # Related: Date._parse (returns a hash).
525
517
  #
526
518
  def self.parse: (?String str, ?boolish complete, ?Integer start) -> Date
@@ -542,7 +534,6 @@ class Date
542
534
  # * Argument [start](rdoc-ref:calendars.rdoc@Argument+start).
543
535
  # * Argument [limit](rdoc-ref:Date@Argument+limit).
544
536
  #
545
- #
546
537
  # Related: Date._rfc2822 (returns a hash).
547
538
  #
548
539
  def self.rfc2822: (String str, ?Integer start) -> Date
@@ -563,7 +554,6 @@ class Date
563
554
  # * Argument [start](rdoc-ref:calendars.rdoc@Argument+start).
564
555
  # * Argument [limit](rdoc-ref:Date@Argument+limit).
565
556
  #
566
- #
567
557
  # Related: Date._rfc3339 (returns a hash).
568
558
  #
569
559
  def self.rfc3339: (String str, ?Integer start) -> Date
@@ -585,7 +575,6 @@ class Date
585
575
  # * Argument [start](rdoc-ref:calendars.rdoc@Argument+start).
586
576
  # * Argument [limit](rdoc-ref:Date@Argument+limit).
587
577
  #
588
- #
589
578
  # Related: Date._rfc2822 (returns a hash).
590
579
  #
591
580
  def self.rfc822: (String str, ?Integer start) -> Date
@@ -728,7 +717,6 @@ class Date
728
717
  # * Argument [start](rdoc-ref:calendars.rdoc@Argument+start).
729
718
  # * Argument [limit](rdoc-ref:Date@Argument+limit).
730
719
  #
731
- #
732
720
  # Related: Date._xmlschema (returns a hash).
733
721
  #
734
722
  def self.xmlschema: (String str, ?Integer start) -> Date
@@ -755,10 +743,10 @@ class Date
755
743
  # rdoc-file=ext/date/date_core.c
756
744
  # - d - other -> date or rational
757
745
  # -->
758
- # Returns the difference between the two dates if the other is a date object.
759
- # If the other is a numeric value, returns a date object pointing `other` days
760
- # before self. If the other is a fractional number, assumes its precision is at
761
- # most nanosecond.
746
+ # If the other is a date object, returns a Rational whose value is the
747
+ # difference between the two dates in days. If the other is a numeric value,
748
+ # returns a date object pointing `other` days before self. If the other is a
749
+ # fractional number, assumes its precision is at most nanosecond.
762
750
  #
763
751
  # Date.new(2001,2,3) - 1 #=> #<Date: 2001-02-02 ...>
764
752
  # DateTime.new(2001,2,3) - Rational(1,2)
@@ -810,7 +798,6 @@ class Date
810
798
  # * `1` if `other` is smaller.
811
799
  # * `nil` if the two are incomparable.
812
800
  #
813
- #
814
801
  # Argument `other` may be:
815
802
  #
816
803
  # * Another Date object:
@@ -1338,7 +1325,6 @@ class Date
1338
1325
  # * Argument [start](rdoc-ref:calendars.rdoc@Argument+start).
1339
1326
  # * Argument [limit](rdoc-ref:Date@Argument+limit).
1340
1327
  #
1341
- #
1342
1328
  # Related: Date._rfc2822 (returns a hash).
1343
1329
  #
1344
1330
  def rfc822: () -> String
@@ -1385,7 +1371,6 @@ class Date
1385
1371
  # * The last date is the last one that is before or equal to `limit`, which
1386
1372
  # should be a Date object.
1387
1373
  #
1388
- #
1389
1374
  # Example:
1390
1375
  #
1391
1376
  # limit = Date.new(2001, 12, 31)
@@ -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
@@ -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
  #