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.
- checksums.yaml +4 -4
- data/.github/workflows/comments.yml +2 -2
- data/.github/workflows/dependabot.yml +1 -1
- data/.github/workflows/ruby.yml +34 -10
- data/.github/workflows/windows.yml +20 -3
- data/.gitignore +1 -0
- data/.rubocop.yml +26 -1
- data/CHANGELOG.md +241 -0
- data/Rakefile +54 -4
- data/config.yml +317 -0
- data/core/array.rbs +1756 -1591
- data/core/basic_object.rbs +38 -35
- data/core/comparable.rbs +1 -1
- data/core/complex.rbs +166 -94
- data/core/data.rbs +2 -2
- data/core/dir.rbs +2 -18
- data/core/encoding.rbs +12 -32
- data/core/enumerable.rbs +270 -266
- data/core/enumerator.rbs +14 -4
- data/core/env.rbs +1 -1
- data/core/errno.rbs +33 -16
- data/core/errors.rbs +6 -2
- data/core/exception.rbs +342 -167
- data/core/fiber.rbs +3 -2
- data/core/file.rbs +26 -75
- data/core/float.rbs +125 -72
- data/core/gc.rbs +158 -42
- data/core/hash.rbs +122 -143
- data/core/integer.rbs +79 -50
- data/core/io/buffer.rbs +49 -43
- data/core/io.rbs +108 -151
- data/core/kernel.rbs +341 -209
- data/core/match_data.rbs +76 -2
- data/core/math.rbs +0 -36
- data/core/method.rbs +2 -2
- data/core/module.rbs +32 -27
- data/core/nil_class.rbs +2 -2
- data/core/numeric.rbs +101 -104
- data/core/object.rbs +1 -5
- data/core/object_space/weak_key_map.rbs +3 -4
- data/core/object_space.rbs +3 -3
- data/core/proc.rbs +82 -14
- data/core/process.rbs +110 -58
- data/core/ractor.rbs +57 -4
- data/core/range.rbs +114 -87
- data/core/rational.rbs +0 -2
- data/core/rbs/unnamed/argf.rbs +237 -36
- data/core/rbs/unnamed/env_class.rbs +35 -53
- data/core/rbs/unnamed/random.rbs +1 -2
- data/core/regexp.rbs +10 -56
- data/core/ruby_vm.rbs +88 -9
- data/core/rubygems/config_file.rbs +3 -0
- data/core/rubygems/errors.rbs +3 -6
- data/core/rubygems/platform.rbs +0 -9
- data/core/rubygems/rubygems.rbs +3 -6
- data/core/rubygems/version.rbs +8 -8
- data/core/set.rbs +4 -16
- data/core/string.rbs +271 -264
- data/core/struct.rbs +6 -18
- data/core/symbol.rbs +14 -21
- data/core/thread.rbs +32 -35
- data/core/time.rbs +131 -50
- data/core/trace_point.rbs +124 -113
- data/core/true_class.rbs +0 -1
- data/core/unbound_method.rbs +1 -1
- data/core/warning.rbs +9 -2
- data/docs/architecture.md +1 -1
- data/docs/syntax.md +17 -10
- data/ext/rbs_extension/extconf.rb +11 -0
- data/ext/rbs_extension/location.c +61 -29
- data/ext/rbs_extension/location.h +4 -3
- data/ext/rbs_extension/main.c +23 -1
- data/ext/rbs_extension/parser.c +506 -517
- data/ext/rbs_extension/parserstate.c +109 -30
- data/ext/rbs_extension/parserstate.h +6 -4
- data/ext/rbs_extension/rbs_extension.h +1 -10
- data/{ext/rbs_extension → include/rbs}/constants.h +21 -19
- data/include/rbs/ruby_objs.h +72 -0
- data/include/rbs/util/rbs_constant_pool.h +219 -0
- data/include/rbs.h +7 -0
- data/lib/rbs/annotate/annotations.rb +3 -3
- data/lib/rbs/annotate/rdoc_source.rb +2 -2
- data/lib/rbs/ast/declarations.rb +9 -4
- data/lib/rbs/ast/directives.rb +10 -0
- data/lib/rbs/ast/members.rb +2 -0
- data/lib/rbs/ast/type_param.rb +2 -12
- data/lib/rbs/cli/diff.rb +3 -3
- data/lib/rbs/cli/validate.rb +2 -1
- data/lib/rbs/cli.rb +16 -16
- data/lib/rbs/collection/config/lockfile_generator.rb +58 -8
- data/lib/rbs/collection/config.rb +5 -3
- data/lib/rbs/collection/sources/rubygems.rb +1 -1
- data/lib/rbs/collection.rb +1 -0
- data/lib/rbs/definition.rb +51 -34
- data/lib/rbs/definition_builder/ancestor_builder.rb +5 -3
- data/lib/rbs/definition_builder.rb +83 -24
- data/lib/rbs/environment.rb +33 -18
- data/lib/rbs/environment_loader.rb +6 -1
- data/lib/rbs/errors.rb +24 -0
- data/lib/rbs/locator.rb +2 -0
- data/lib/rbs/method_type.rb +2 -0
- data/lib/rbs/namespace.rb +1 -0
- data/lib/rbs/parser_aux.rb +40 -3
- data/lib/rbs/prototype/rb.rb +20 -12
- data/lib/rbs/prototype/rbi.rb +11 -6
- data/lib/rbs/prototype/runtime/value_object_generator.rb +7 -5
- data/lib/rbs/prototype/runtime.rb +7 -5
- data/lib/rbs/subtractor.rb +3 -3
- data/lib/rbs/test/hook.rb +47 -42
- data/lib/rbs/test/type_check.rb +7 -5
- data/lib/rbs/type_name.rb +14 -9
- data/lib/rbs/types.rb +63 -14
- data/lib/rbs/unit_test/spy.rb +4 -2
- data/lib/rbs/unit_test/type_assertions.rb +19 -13
- data/lib/rbs/unit_test/with_aliases.rb +3 -1
- data/lib/rbs/validator.rb +7 -1
- data/lib/rbs/version.rb +1 -1
- data/lib/rbs/writer.rb +10 -5
- data/lib/rbs.rb +1 -0
- data/lib/rdoc_plugin/parser.rb +2 -2
- data/rbs.gemspec +6 -2
- data/sig/ancestor_graph.rbs +5 -5
- data/sig/annotate/rdoc_source.rbs +2 -0
- data/sig/cli.rbs +2 -0
- data/sig/collection/config/lockfile_generator.rbs +9 -1
- data/sig/declarations.rbs +10 -3
- data/sig/definition.rbs +80 -12
- data/sig/definition_builder.rbs +18 -4
- data/sig/directives.rbs +17 -1
- data/sig/environment.rbs +3 -1
- data/sig/errors.rbs +19 -0
- data/sig/namespace.rbs +2 -3
- data/sig/parser.rbs +5 -1
- data/sig/prototype/rb.rbs +1 -1
- data/sig/resolver/constant_resolver.rbs +2 -2
- data/sig/resolver/context.rbs +1 -1
- data/sig/subtractor.rbs +1 -1
- data/sig/test/type_check.rbs +2 -2
- data/sig/type_alias_dependency.rbs +2 -2
- data/sig/type_alias_regularity.rbs +6 -6
- data/sig/type_param.rbs +4 -4
- data/sig/typename.rbs +8 -5
- data/sig/types.rbs +1 -1
- data/sig/unit_test/spy.rbs +2 -0
- data/sig/unit_test/type_assertions.rbs +2 -0
- data/sig/use_map.rbs +1 -1
- data/sig/validator.rbs +6 -2
- data/sig/vendorer.rbs +1 -1
- data/sig/writer.rbs +1 -1
- data/{ext/rbs_extension → src}/constants.c +35 -36
- data/src/ruby_objs.c +799 -0
- data/src/util/rbs_constant_pool.c +342 -0
- data/stdlib/base64/0/base64.rbs +0 -9
- data/stdlib/benchmark/0/benchmark.rbs +11 -2
- data/stdlib/bigdecimal/0/big_decimal.rbs +26 -182
- data/stdlib/cgi/0/core.rbs +60 -3
- data/stdlib/cgi/0/manifest.yaml +1 -0
- data/stdlib/coverage/0/coverage.rbs +0 -3
- data/stdlib/csv/0/csv.rbs +18 -58
- data/stdlib/csv/0/manifest.yaml +1 -0
- data/stdlib/date/0/date.rbs +27 -42
- data/stdlib/did_you_mean/0/did_you_mean.rbs +1 -6
- data/stdlib/digest/0/digest.rbs +25 -2
- data/stdlib/erb/0/erb.rbs +0 -1
- data/stdlib/etc/0/etc.rbs +51 -34
- data/stdlib/fileutils/0/fileutils.rbs +3 -44
- data/stdlib/io-console/0/io-console.rbs +69 -15
- data/stdlib/ipaddr/0/ipaddr.rbs +16 -4
- data/stdlib/json/0/json.rbs +107 -120
- data/stdlib/logger/0/log_device.rbs +1 -1
- data/stdlib/logger/0/logger.rbs +3 -18
- data/stdlib/minitest/0/kernel.rbs +2 -2
- data/stdlib/minitest/0/minitest/abstract_reporter.rbs +4 -1
- data/stdlib/minitest/0/minitest/assertion.rbs +1 -0
- data/stdlib/minitest/0/minitest/assertions.rbs +58 -13
- data/stdlib/minitest/0/minitest/backtrace_filter.rbs +7 -0
- data/stdlib/minitest/0/minitest/bench_spec.rbs +8 -8
- data/stdlib/minitest/0/minitest/benchmark.rbs +17 -16
- data/stdlib/minitest/0/minitest/compress.rbs +13 -0
- data/stdlib/minitest/0/minitest/error_on_warning.rbs +3 -0
- data/stdlib/minitest/0/minitest/mock.rbs +9 -5
- data/stdlib/minitest/0/minitest/parallel/executor.rbs +4 -0
- data/stdlib/minitest/0/minitest/parallel/test/class_methods.rbs +0 -1
- data/stdlib/minitest/0/minitest/pride_io.rbs +8 -0
- data/stdlib/minitest/0/minitest/pride_lol.rbs +2 -0
- data/stdlib/minitest/0/minitest/progress_reporter.rbs +1 -1
- data/stdlib/minitest/0/minitest/reportable.rbs +2 -0
- data/stdlib/minitest/0/minitest/runnable.rbs +33 -1
- data/stdlib/minitest/0/minitest/spec/dsl/instance_methods.rbs +1 -1
- data/stdlib/minitest/0/minitest/spec/dsl.rbs +10 -6
- data/stdlib/minitest/0/minitest/spec.rbs +1 -1
- data/stdlib/minitest/0/minitest/statistics_reporter.rbs +5 -0
- data/stdlib/minitest/0/minitest/summary_reporter.rbs +0 -7
- data/stdlib/minitest/0/minitest/test/lifecycle_hooks.rbs +1 -1
- data/stdlib/minitest/0/minitest/test.rbs +7 -14
- data/stdlib/minitest/0/minitest/unexpected_error.rbs +2 -0
- data/stdlib/minitest/0/minitest/unexpected_warning.rbs +6 -0
- data/stdlib/minitest/0/minitest/unit.rbs +1 -2
- data/stdlib/minitest/0/minitest.rbs +41 -892
- data/stdlib/monitor/0/monitor.rbs +13 -4
- data/stdlib/net-http/0/net-http.rbs +42 -109
- data/stdlib/nkf/0/nkf.rbs +30 -0
- data/stdlib/objspace/0/objspace.rbs +1 -2
- data/stdlib/observable/0/observable.rbs +1 -1
- data/stdlib/open-uri/0/manifest.yaml +1 -0
- data/stdlib/open-uri/0/open-uri.rbs +52 -0
- data/stdlib/open3/0/open3.rbs +0 -8
- data/stdlib/openssl/0/manifest.yaml +1 -0
- data/stdlib/openssl/0/openssl.rbs +235 -143
- data/stdlib/optparse/0/optparse.rbs +58 -18
- data/stdlib/pathname/0/pathname.rbs +2 -8
- data/stdlib/pp/0/pp.rbs +3 -1
- data/stdlib/prettyprint/0/prettyprint.rbs +0 -4
- data/stdlib/pstore/0/pstore.rbs +0 -6
- data/stdlib/psych/0/core_ext.rbs +12 -0
- data/stdlib/psych/0/psych.rbs +15 -4
- data/stdlib/pty/0/pty.rbs +46 -4
- data/stdlib/rdoc/0/code_object.rbs +0 -4
- data/stdlib/rdoc/0/markup.rbs +10 -12
- data/stdlib/rdoc/0/rdoc.rbs +13 -8
- data/stdlib/resolv/0/resolv.rbs +21 -12
- data/stdlib/ripper/0/ripper.rbs +0 -2
- data/stdlib/securerandom/0/securerandom.rbs +7 -2
- data/stdlib/shellwords/0/shellwords.rbs +11 -12
- data/stdlib/singleton/0/singleton.rbs +0 -1
- data/stdlib/socket/0/addrinfo.rbs +1 -2
- data/stdlib/socket/0/basic_socket.rbs +0 -5
- data/stdlib/socket/0/socket.rbs +32 -27
- data/stdlib/socket/0/tcp_server.rbs +0 -3
- data/stdlib/socket/0/tcp_socket.rbs +36 -3
- data/stdlib/socket/0/udp_socket.rbs +0 -1
- data/stdlib/socket/0/unix_server.rbs +0 -3
- data/stdlib/socket/0/unix_socket.rbs +4 -2
- data/{core/string_io.rbs → stdlib/stringio/0/stringio.rbs} +1 -1
- data/stdlib/strscan/0/string_scanner.rbs +1265 -422
- data/stdlib/tempfile/0/tempfile.rbs +135 -28
- data/stdlib/time/0/time.rbs +48 -35
- data/stdlib/timeout/0/timeout.rbs +11 -8
- data/stdlib/tmpdir/0/tmpdir.rbs +10 -3
- data/stdlib/tsort/0/tsort.rbs +0 -4
- data/stdlib/uri/0/common.rbs +28 -30
- data/stdlib/uri/0/ftp.rbs +1 -1
- data/stdlib/uri/0/generic.rbs +22 -18
- data/stdlib/uri/0/http.rbs +2 -2
- data/stdlib/uri/0/rfc2396_parser.rbs +3 -0
- data/stdlib/zlib/0/buf_error.rbs +1 -70
- data/stdlib/zlib/0/data_error.rbs +1 -70
- data/stdlib/zlib/0/deflate.rbs +8 -72
- data/stdlib/zlib/0/error.rbs +1 -70
- data/stdlib/zlib/0/gzip_file/crc_error.rbs +2 -105
- data/stdlib/zlib/0/gzip_file/error.rbs +2 -105
- data/stdlib/zlib/0/gzip_file/length_error.rbs +2 -105
- data/stdlib/zlib/0/gzip_file/no_footer.rbs +2 -105
- data/stdlib/zlib/0/gzip_file.rbs +1 -71
- data/stdlib/zlib/0/gzip_reader.rbs +3 -74
- data/stdlib/zlib/0/gzip_writer.rbs +1 -70
- data/stdlib/zlib/0/inflate.rbs +4 -71
- data/stdlib/zlib/0/mem_error.rbs +1 -70
- data/stdlib/zlib/0/need_dict.rbs +1 -70
- data/stdlib/zlib/0/stream_end.rbs +1 -70
- data/stdlib/zlib/0/stream_error.rbs +1 -70
- data/stdlib/zlib/0/version_error.rbs +1 -70
- data/stdlib/zlib/0/zlib.rbs +0 -2
- data/stdlib/zlib/0/zstream.rbs +4 -72
- metadata +17 -13
- data/ext/rbs_extension/ruby_objs.c +0 -602
- data/ext/rbs_extension/ruby_objs.h +0 -51
- 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
|
data/stdlib/digest/0/digest.rbs
CHANGED
@@ -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
|
-
#
|
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
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
|
-
#
|
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(
|
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
|
-
#
|
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
|
-
#
|
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
|
-
#
|
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
|
-
#
|
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
|
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
|
-
# -
|
244
|
-
# -
|
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(
|
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 } ->
|
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
|
#
|