rbs 3.7.0 → 3.8.0.pre.1

Sign up to get free protection for your applications and to get access to all the features.
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
  #