rbs 4.0.0.dev.4 → 4.0.0
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/dependabot.yml +14 -14
- data/.github/workflows/bundle-update.yml +60 -0
- data/.github/workflows/c-check.yml +18 -11
- data/.github/workflows/comments.yml +5 -3
- data/.github/workflows/dependabot.yml +2 -2
- data/.github/workflows/ruby.yml +27 -34
- data/.github/workflows/rust.yml +95 -0
- data/.github/workflows/typecheck.yml +2 -2
- data/.github/workflows/windows.yml +2 -2
- data/.rubocop.yml +1 -1
- data/CHANGELOG.md +323 -0
- data/README.md +1 -1
- data/Rakefile +43 -33
- data/Steepfile +1 -0
- data/config.yml +426 -24
- data/core/array.rbs +307 -227
- data/core/basic_object.rbs +9 -8
- data/core/binding.rbs +0 -2
- data/core/builtin.rbs +2 -2
- data/core/class.rbs +6 -5
- data/core/comparable.rbs +55 -34
- data/core/complex.rbs +104 -78
- data/core/dir.rbs +61 -49
- data/core/encoding.rbs +12 -15
- data/core/enumerable.rbs +179 -87
- data/core/enumerator/arithmetic_sequence.rbs +70 -0
- data/core/enumerator.rbs +65 -2
- data/core/errno.rbs +11 -2
- data/core/errors.rbs +58 -29
- data/core/exception.rbs +13 -13
- data/core/fiber.rbs +74 -54
- data/core/file.rbs +280 -177
- data/core/file_test.rbs +3 -3
- data/core/float.rbs +257 -92
- data/core/gc.rbs +425 -281
- data/core/hash.rbs +1045 -739
- data/core/integer.rbs +135 -137
- data/core/io/buffer.rbs +53 -42
- data/core/io/wait.rbs +13 -35
- data/core/io.rbs +192 -144
- data/core/kernel.rbs +216 -155
- data/core/marshal.rbs +4 -4
- data/core/match_data.rbs +15 -13
- data/core/math.rbs +107 -66
- data/core/method.rbs +69 -33
- data/core/module.rbs +244 -106
- data/core/nil_class.rbs +7 -6
- data/core/numeric.rbs +74 -63
- data/core/object.rbs +9 -11
- data/core/object_space.rbs +30 -23
- data/core/pathname.rbs +1322 -0
- data/core/proc.rbs +95 -58
- data/core/process.rbs +222 -202
- data/core/ractor.rbs +371 -515
- data/core/random.rbs +21 -3
- data/core/range.rbs +159 -57
- data/core/rational.rbs +60 -89
- data/core/rbs/unnamed/argf.rbs +60 -53
- data/core/rbs/unnamed/env_class.rbs +19 -14
- data/core/rbs/unnamed/main_class.rbs +123 -0
- data/core/rbs/unnamed/random.rbs +11 -118
- data/core/regexp.rbs +258 -214
- data/core/ruby.rbs +53 -0
- data/core/ruby_vm.rbs +38 -34
- data/core/rubygems/config_file.rbs +5 -5
- data/core/rubygems/errors.rbs +4 -71
- data/core/rubygems/requirement.rbs +5 -5
- data/core/rubygems/rubygems.rbs +16 -82
- data/core/rubygems/version.rbs +2 -3
- data/core/set.rbs +490 -360
- data/core/signal.rbs +26 -16
- data/core/string.rbs +3234 -1285
- data/core/struct.rbs +27 -26
- data/core/symbol.rbs +41 -34
- data/core/thread.rbs +135 -67
- data/core/time.rbs +81 -50
- data/core/trace_point.rbs +41 -35
- data/core/true_class.rbs +2 -2
- data/core/unbound_method.rbs +24 -16
- data/core/warning.rbs +7 -7
- data/docs/aliases.md +79 -0
- data/docs/collection.md +3 -3
- data/docs/config.md +171 -0
- data/docs/encoding.md +56 -0
- data/docs/gem.md +0 -1
- data/docs/inline.md +576 -0
- data/docs/sigs.md +3 -3
- data/docs/syntax.md +46 -16
- data/docs/type_fingerprint.md +21 -0
- data/exe/rbs +1 -1
- data/ext/rbs_extension/ast_translation.c +544 -116
- data/ext/rbs_extension/ast_translation.h +3 -0
- data/ext/rbs_extension/class_constants.c +16 -2
- data/ext/rbs_extension/class_constants.h +8 -0
- data/ext/rbs_extension/extconf.rb +5 -1
- data/ext/rbs_extension/legacy_location.c +33 -56
- data/ext/rbs_extension/legacy_location.h +37 -0
- data/ext/rbs_extension/main.c +44 -35
- data/include/rbs/ast.h +448 -173
- data/include/rbs/defines.h +27 -0
- data/include/rbs/lexer.h +30 -11
- data/include/rbs/location.h +25 -44
- data/include/rbs/parser.h +6 -6
- data/include/rbs/string.h +0 -2
- data/include/rbs/util/rbs_allocator.h +34 -13
- data/include/rbs/util/rbs_assert.h +12 -1
- data/include/rbs/util/rbs_constant_pool.h +0 -3
- data/include/rbs/util/rbs_encoding.h +2 -0
- data/include/rbs/util/rbs_unescape.h +2 -1
- data/include/rbs.h +8 -0
- data/lib/rbs/ast/annotation.rb +1 -1
- data/lib/rbs/ast/comment.rb +1 -1
- data/lib/rbs/ast/declarations.rb +10 -10
- data/lib/rbs/ast/members.rb +14 -14
- data/lib/rbs/ast/ruby/annotations.rb +293 -3
- data/lib/rbs/ast/ruby/comment_block.rb +24 -0
- data/lib/rbs/ast/ruby/declarations.rb +198 -3
- data/lib/rbs/ast/ruby/helpers/constant_helper.rb +4 -0
- data/lib/rbs/ast/ruby/members.rb +532 -22
- data/lib/rbs/ast/type_param.rb +24 -4
- data/lib/rbs/buffer.rb +20 -15
- data/lib/rbs/cli/diff.rb +16 -15
- data/lib/rbs/cli/validate.rb +38 -106
- data/lib/rbs/cli.rb +52 -19
- data/lib/rbs/collection/config/lockfile_generator.rb +14 -2
- data/lib/rbs/collection/sources/git.rb +1 -0
- data/lib/rbs/definition.rb +1 -1
- data/lib/rbs/definition_builder/ancestor_builder.rb +62 -9
- data/lib/rbs/definition_builder/method_builder.rb +20 -0
- data/lib/rbs/definition_builder.rb +147 -25
- data/lib/rbs/diff.rb +7 -1
- data/lib/rbs/environment.rb +227 -74
- data/lib/rbs/environment_loader.rb +0 -6
- data/lib/rbs/errors.rb +27 -18
- data/lib/rbs/inline_parser.rb +342 -6
- data/lib/rbs/location_aux.rb +1 -1
- data/lib/rbs/locator.rb +5 -1
- data/lib/rbs/method_type.rb +5 -3
- data/lib/rbs/parser_aux.rb +20 -7
- data/lib/rbs/prototype/helpers.rb +57 -0
- data/lib/rbs/prototype/rb.rb +3 -28
- data/lib/rbs/prototype/rbi.rb +3 -20
- data/lib/rbs/prototype/runtime.rb +8 -0
- data/lib/rbs/resolver/constant_resolver.rb +2 -2
- data/lib/rbs/resolver/type_name_resolver.rb +116 -38
- data/lib/rbs/subtractor.rb +3 -1
- data/lib/rbs/test/type_check.rb +19 -2
- data/lib/rbs/type_name.rb +1 -1
- data/lib/rbs/types.rb +88 -78
- data/lib/rbs/unit_test/type_assertions.rb +35 -8
- data/lib/rbs/validator.rb +2 -2
- data/lib/rbs/version.rb +1 -1
- data/lib/rbs.rb +1 -2
- data/lib/rdoc/discover.rb +1 -1
- data/lib/rdoc_plugin/parser.rb +1 -1
- data/rbs.gemspec +4 -3
- data/rust/.gitignore +1 -0
- data/rust/Cargo.lock +378 -0
- data/rust/Cargo.toml +7 -0
- data/rust/ruby-rbs/Cargo.toml +22 -0
- data/rust/ruby-rbs/build.rs +764 -0
- data/rust/ruby-rbs/examples/locations.rs +60 -0
- data/rust/ruby-rbs/src/lib.rs +1 -0
- data/rust/ruby-rbs/src/node/mod.rs +742 -0
- data/rust/ruby-rbs/tests/sanity.rs +47 -0
- data/rust/ruby-rbs/vendor/rbs/config.yml +1 -0
- data/rust/ruby-rbs-sys/Cargo.toml +23 -0
- data/rust/ruby-rbs-sys/build.rs +204 -0
- data/rust/ruby-rbs-sys/src/lib.rs +50 -0
- data/rust/ruby-rbs-sys/vendor/rbs/include +1 -0
- data/rust/ruby-rbs-sys/vendor/rbs/src +1 -0
- data/rust/ruby-rbs-sys/wrapper.h +1 -0
- data/schema/typeParam.json +17 -1
- data/sig/ast/ruby/annotations.rbs +315 -4
- data/sig/ast/ruby/comment_block.rbs +8 -0
- data/sig/ast/ruby/declarations.rbs +102 -4
- data/sig/ast/ruby/members.rbs +108 -2
- data/sig/cli/diff.rbs +5 -11
- data/sig/cli/validate.rbs +12 -8
- data/sig/cli.rbs +18 -18
- data/sig/definition.rbs +6 -1
- data/sig/definition_builder.rbs +2 -0
- data/sig/environment.rbs +70 -12
- data/sig/errors.rbs +13 -14
- data/sig/inline_parser.rbs +39 -2
- data/sig/locator.rbs +0 -2
- data/sig/manifest.yaml +0 -1
- data/sig/method_builder.rbs +3 -1
- data/sig/parser.rbs +31 -13
- data/sig/prototype/helpers.rbs +2 -0
- data/sig/resolver/type_name_resolver.rbs +35 -7
- data/sig/source.rbs +3 -3
- data/sig/type_param.rbs +13 -8
- data/sig/types.rbs +6 -7
- data/sig/unit_test/spy.rbs +0 -8
- data/sig/unit_test/type_assertions.rbs +11 -0
- data/src/ast.c +410 -153
- data/src/lexer.c +1392 -1313
- data/src/lexer.re +3 -0
- data/src/lexstate.c +58 -37
- data/src/location.c +8 -48
- data/src/parser.c +977 -516
- data/src/string.c +0 -48
- data/src/util/rbs_allocator.c +89 -71
- data/src/util/rbs_assert.c +1 -1
- data/src/util/rbs_buffer.c +2 -2
- data/src/util/rbs_constant_pool.c +10 -14
- data/src/util/rbs_encoding.c +4 -8
- data/src/util/rbs_unescape.c +56 -20
- data/stdlib/bigdecimal/0/big_decimal.rbs +116 -98
- data/stdlib/bigdecimal-math/0/big_math.rbs +169 -8
- data/stdlib/cgi/0/core.rbs +9 -393
- data/stdlib/cgi/0/manifest.yaml +1 -0
- data/stdlib/cgi-escape/0/escape.rbs +171 -0
- data/stdlib/coverage/0/coverage.rbs +7 -4
- data/stdlib/date/0/date.rbs +92 -79
- data/stdlib/date/0/date_time.rbs +25 -24
- data/stdlib/delegate/0/delegator.rbs +10 -7
- data/stdlib/did_you_mean/0/did_you_mean.rbs +17 -16
- data/stdlib/digest/0/digest.rbs +110 -0
- data/stdlib/erb/0/erb.rbs +748 -347
- data/stdlib/etc/0/etc.rbs +55 -50
- data/stdlib/fileutils/0/fileutils.rbs +158 -139
- data/stdlib/forwardable/0/forwardable.rbs +13 -10
- data/stdlib/io-console/0/io-console.rbs +2 -2
- data/stdlib/json/0/json.rbs +217 -136
- data/stdlib/monitor/0/monitor.rbs +3 -3
- data/stdlib/net-http/0/net-http.rbs +162 -134
- data/stdlib/objspace/0/objspace.rbs +17 -34
- data/stdlib/open-uri/0/open-uri.rbs +48 -8
- data/stdlib/open3/0/open3.rbs +469 -10
- data/stdlib/openssl/0/openssl.rbs +475 -357
- data/stdlib/optparse/0/optparse.rbs +26 -17
- data/stdlib/pathname/0/pathname.rbs +11 -1381
- data/stdlib/pp/0/pp.rbs +9 -8
- data/stdlib/prettyprint/0/prettyprint.rbs +7 -7
- data/stdlib/pstore/0/pstore.rbs +35 -30
- data/stdlib/psych/0/psych.rbs +65 -12
- data/stdlib/psych/0/store.rbs +2 -4
- data/stdlib/pty/0/pty.rbs +9 -6
- data/stdlib/random-formatter/0/random-formatter.rbs +277 -0
- data/stdlib/rdoc/0/code_object.rbs +2 -1
- data/stdlib/rdoc/0/parser.rbs +1 -1
- data/stdlib/rdoc/0/rdoc.rbs +1 -1
- data/stdlib/rdoc/0/store.rbs +1 -1
- data/stdlib/resolv/0/resolv.rbs +25 -68
- data/stdlib/ripper/0/ripper.rbs +22 -19
- data/stdlib/securerandom/0/manifest.yaml +2 -0
- data/stdlib/securerandom/0/securerandom.rbs +7 -20
- data/stdlib/shellwords/0/shellwords.rbs +2 -2
- data/stdlib/singleton/0/singleton.rbs +3 -0
- data/stdlib/socket/0/addrinfo.rbs +7 -7
- data/stdlib/socket/0/basic_socket.rbs +3 -3
- data/stdlib/socket/0/ip_socket.rbs +10 -8
- data/stdlib/socket/0/socket.rbs +23 -10
- data/stdlib/socket/0/tcp_server.rbs +1 -1
- data/stdlib/socket/0/tcp_socket.rbs +11 -3
- data/stdlib/socket/0/udp_socket.rbs +1 -1
- data/stdlib/socket/0/unix_server.rbs +1 -1
- data/stdlib/stringio/0/stringio.rbs +1177 -85
- data/stdlib/strscan/0/string_scanner.rbs +27 -25
- data/stdlib/tempfile/0/tempfile.rbs +25 -21
- data/stdlib/time/0/time.rbs +8 -6
- data/stdlib/timeout/0/timeout.rbs +63 -7
- data/stdlib/tsort/0/cyclic.rbs +3 -0
- data/stdlib/tsort/0/tsort.rbs +7 -6
- data/stdlib/uri/0/common.rbs +42 -20
- data/stdlib/uri/0/file.rbs +3 -3
- data/stdlib/uri/0/generic.rbs +26 -18
- data/stdlib/uri/0/http.rbs +2 -2
- data/stdlib/uri/0/ldap.rbs +2 -2
- data/stdlib/uri/0/mailto.rbs +3 -3
- data/stdlib/uri/0/rfc2396_parser.rbs +12 -12
- data/stdlib/zlib/0/deflate.rbs +4 -3
- data/stdlib/zlib/0/gzip_reader.rbs +6 -6
- data/stdlib/zlib/0/gzip_writer.rbs +14 -12
- data/stdlib/zlib/0/inflate.rbs +1 -1
- data/stdlib/zlib/0/need_dict.rbs +1 -1
- data/stdlib/zlib/0/zstream.rbs +1 -0
- metadata +50 -6
data/stdlib/etc/0/etc.rbs
CHANGED
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
# <!-- rdoc-file=ext/etc/etc.c -->
|
|
2
2
|
# The Etc module provides access to information typically stored in files in the
|
|
3
|
-
#
|
|
3
|
+
# <code>/etc</code> directory on Unix systems.
|
|
4
4
|
#
|
|
5
5
|
# The information accessible consists of the information found in the
|
|
6
|
-
#
|
|
7
|
-
# temporary directory (
|
|
6
|
+
# <code>/etc/passwd</code> and <code>/etc/group</code> files, plus information
|
|
7
|
+
# about the system's temporary directory (<code>/tmp</code>) and configuration
|
|
8
|
+
# directory (<code>/etc</code>).
|
|
8
9
|
#
|
|
9
10
|
# The Etc module provides a more reliable way to access information about the
|
|
10
11
|
# logged in user than environment variables such as +$USER+.
|
|
11
12
|
#
|
|
12
|
-
#
|
|
13
|
+
# <strong>Example:</strong>
|
|
13
14
|
#
|
|
14
15
|
# require 'etc'
|
|
15
16
|
#
|
|
@@ -48,7 +49,7 @@ module Etc
|
|
|
48
49
|
# rdoc-file=ext/etc/etc.c
|
|
49
50
|
# - endgrent
|
|
50
51
|
# -->
|
|
51
|
-
# Ends the process of scanning through the
|
|
52
|
+
# Ends the process of scanning through the <code>/etc/group</code> file begun by
|
|
52
53
|
# ::getgrent, and closes the file.
|
|
53
54
|
#
|
|
54
55
|
def self?.endgrent: () -> void
|
|
@@ -57,8 +58,8 @@ module Etc
|
|
|
57
58
|
# rdoc-file=ext/etc/etc.c
|
|
58
59
|
# - endpwent
|
|
59
60
|
# -->
|
|
60
|
-
# Ends the process of scanning through the
|
|
61
|
-
# ::getpwent, and closes the file.
|
|
61
|
+
# Ends the process of scanning through the <code>/etc/passwd</code> file begun
|
|
62
|
+
# with ::getpwent, and closes the file.
|
|
62
63
|
#
|
|
63
64
|
def self?.endpwent: () -> void
|
|
64
65
|
|
|
@@ -66,7 +67,7 @@ module Etc
|
|
|
66
67
|
# rdoc-file=ext/etc/etc.c
|
|
67
68
|
# - getgrent -> Etc::Group
|
|
68
69
|
# -->
|
|
69
|
-
# Returns an entry from the
|
|
70
|
+
# Returns an entry from the <code>/etc/group</code> file.
|
|
70
71
|
#
|
|
71
72
|
# The first time it is called it opens the file and returns the first entry;
|
|
72
73
|
# each successive call returns the next entry, or `nil` if the end of the file
|
|
@@ -83,13 +84,13 @@ module Etc
|
|
|
83
84
|
# - getgrgid(group_id) -> Etc::Group
|
|
84
85
|
# -->
|
|
85
86
|
# Returns information about the group with specified integer `group_id`, as
|
|
86
|
-
# found in
|
|
87
|
+
# found in <code>/etc/group</code>.
|
|
87
88
|
#
|
|
88
89
|
# The information is returned as a Group struct.
|
|
89
90
|
#
|
|
90
|
-
# See the unix manpage for
|
|
91
|
+
# See the unix manpage for <code>getgrgid(3)</code> for more detail.
|
|
91
92
|
#
|
|
92
|
-
#
|
|
93
|
+
# <strong>Example:</strong>
|
|
93
94
|
#
|
|
94
95
|
# Etc.getgrgid(100)
|
|
95
96
|
# #=> #<struct Etc::Group name="users", passwd="x", gid=100, mem=["meta", "root"]>
|
|
@@ -101,13 +102,13 @@ module Etc
|
|
|
101
102
|
# - getgrnam(name) -> Etc::Group
|
|
102
103
|
# -->
|
|
103
104
|
# Returns information about the group with specified `name`, as found in
|
|
104
|
-
#
|
|
105
|
+
# <code>/etc/group</code>.
|
|
105
106
|
#
|
|
106
107
|
# The information is returned as a Group struct.
|
|
107
108
|
#
|
|
108
|
-
# See the unix manpage for
|
|
109
|
+
# See the unix manpage for <code>getgrnam(3)</code> for more detail.
|
|
109
110
|
#
|
|
110
|
-
#
|
|
111
|
+
# <strong>Example:</strong>
|
|
111
112
|
#
|
|
112
113
|
# Etc.getgrnam('users')
|
|
113
114
|
# #=> #<struct Etc::Group name="users", passwd="x", gid=100, mem=["meta", "root"]>
|
|
@@ -125,7 +126,7 @@ module Etc
|
|
|
125
126
|
#
|
|
126
127
|
# If ::getlogin fails, try ::getpwuid.
|
|
127
128
|
#
|
|
128
|
-
# See the unix manpage for
|
|
129
|
+
# See the unix manpage for <code>getpwuid(3)</code> for more detail.
|
|
129
130
|
#
|
|
130
131
|
# e.g.
|
|
131
132
|
# Etc.getlogin -> 'guest'
|
|
@@ -136,7 +137,7 @@ module Etc
|
|
|
136
137
|
# rdoc-file=ext/etc/etc.c
|
|
137
138
|
# - getpwent -> Etc::Passwd
|
|
138
139
|
# -->
|
|
139
|
-
# Returns an entry from the
|
|
140
|
+
# Returns an entry from the <code>/etc/passwd</code> file.
|
|
140
141
|
#
|
|
141
142
|
# The first time it is called it opens the file and returns the first entry;
|
|
142
143
|
# each successive call returns the next entry, or `nil` if the end of the file
|
|
@@ -152,14 +153,14 @@ module Etc
|
|
|
152
153
|
# rdoc-file=ext/etc/etc.c
|
|
153
154
|
# - getpwnam(name) -> Etc::Passwd
|
|
154
155
|
# -->
|
|
155
|
-
# Returns the
|
|
156
|
-
# `name`.
|
|
156
|
+
# Returns the <code>/etc/passwd</code> information for the user with specified
|
|
157
|
+
# login `name`.
|
|
157
158
|
#
|
|
158
159
|
# The information is returned as a Passwd struct.
|
|
159
160
|
#
|
|
160
|
-
# See the unix manpage for
|
|
161
|
+
# See the unix manpage for <code>getpwnam(3)</code> for more detail.
|
|
161
162
|
#
|
|
162
|
-
#
|
|
163
|
+
# <strong>Example:</strong>
|
|
163
164
|
#
|
|
164
165
|
# Etc.getpwnam('root')
|
|
165
166
|
# #=> #<struct Etc::Passwd name="root", passwd="x", uid=0, gid=0, gecos="root",dir="/root", shell="/bin/bash">
|
|
@@ -170,16 +171,17 @@ module Etc
|
|
|
170
171
|
# rdoc-file=ext/etc/etc.c
|
|
171
172
|
# - getpwuid(uid) -> Etc::Passwd
|
|
172
173
|
# -->
|
|
173
|
-
# Returns the
|
|
174
|
-
# `uid`.
|
|
174
|
+
# Returns the <code>/etc/passwd</code> information for the user with the given
|
|
175
|
+
# integer `uid`.
|
|
175
176
|
#
|
|
176
177
|
# The information is returned as a Passwd struct.
|
|
177
178
|
#
|
|
178
|
-
# If `uid` is omitted, the value from
|
|
179
|
+
# If `uid` is omitted, the value from <code>Passwd[:uid]</code> is returned
|
|
180
|
+
# instead.
|
|
179
181
|
#
|
|
180
|
-
# See the unix manpage for
|
|
182
|
+
# See the unix manpage for <code>getpwuid(3)</code> for more detail.
|
|
181
183
|
#
|
|
182
|
-
#
|
|
184
|
+
# <strong>Example:</strong>
|
|
183
185
|
#
|
|
184
186
|
# Etc.getpwuid(0)
|
|
185
187
|
# #=> #<struct Etc::Passwd name="root", passwd="x", uid=0, gid=0, gecos="root",dir="/root", shell="/bin/bash">
|
|
@@ -192,13 +194,13 @@ module Etc
|
|
|
192
194
|
# - group -> Etc::Group
|
|
193
195
|
# -->
|
|
194
196
|
# Provides a convenient Ruby iterator which executes a block for each entry in
|
|
195
|
-
# the
|
|
197
|
+
# the <code>/etc/group</code> file.
|
|
196
198
|
#
|
|
197
199
|
# The code block is passed an Group struct.
|
|
198
200
|
#
|
|
199
201
|
# See ::getgrent above for details.
|
|
200
202
|
#
|
|
201
|
-
#
|
|
203
|
+
# <strong>Example:</strong>
|
|
202
204
|
#
|
|
203
205
|
# require 'etc'
|
|
204
206
|
#
|
|
@@ -223,7 +225,7 @@ module Etc
|
|
|
223
225
|
# * sysconf(_SC_NPROCESSORS_ONLN): GNU/Linux, NetBSD, FreeBSD, OpenBSD,
|
|
224
226
|
# DragonFly BSD, OpenIndiana, Mac OS X, AIX
|
|
225
227
|
#
|
|
226
|
-
#
|
|
228
|
+
# <strong>Example:</strong>
|
|
227
229
|
#
|
|
228
230
|
# require 'etc'
|
|
229
231
|
# p Etc.nprocessors #=> 4
|
|
@@ -232,7 +234,7 @@ module Etc
|
|
|
232
234
|
# process is bound to specific cpus. This is intended for getting better
|
|
233
235
|
# parallel processing.
|
|
234
236
|
#
|
|
235
|
-
#
|
|
237
|
+
# <strong>Example:</strong> (Linux)
|
|
236
238
|
#
|
|
237
239
|
# linux$ taskset 0x3 ./ruby -retc -e "p Etc.nprocessors" #=> 2
|
|
238
240
|
#
|
|
@@ -244,13 +246,13 @@ module Etc
|
|
|
244
246
|
# - passwd -> Etc::Passwd
|
|
245
247
|
# -->
|
|
246
248
|
# Provides a convenient Ruby iterator which executes a block for each entry in
|
|
247
|
-
# the
|
|
249
|
+
# the <code>/etc/passwd</code> file.
|
|
248
250
|
#
|
|
249
251
|
# The code block is passed an Passwd struct.
|
|
250
252
|
#
|
|
251
253
|
# See ::getpwent above for details.
|
|
252
254
|
#
|
|
253
|
-
#
|
|
255
|
+
# <strong>Example:</strong>
|
|
254
256
|
#
|
|
255
257
|
# require 'etc'
|
|
256
258
|
#
|
|
@@ -265,8 +267,8 @@ module Etc
|
|
|
265
267
|
# rdoc-file=ext/etc/etc.c
|
|
266
268
|
# - setgrent
|
|
267
269
|
# -->
|
|
268
|
-
# Resets the process of reading the
|
|
269
|
-
# ::getgrent will return the first entry again.
|
|
270
|
+
# Resets the process of reading the <code>/etc/group</code> file, so that the
|
|
271
|
+
# next call to ::getgrent will return the first entry again.
|
|
270
272
|
#
|
|
271
273
|
def self?.setgrent: () -> void
|
|
272
274
|
|
|
@@ -274,8 +276,8 @@ module Etc
|
|
|
274
276
|
# rdoc-file=ext/etc/etc.c
|
|
275
277
|
# - setpwent
|
|
276
278
|
# -->
|
|
277
|
-
# Resets the process of reading the
|
|
278
|
-
# ::getpwent will return the first entry again.
|
|
279
|
+
# Resets the process of reading the <code>/etc/passwd</code> file, so that the
|
|
280
|
+
# next call to ::getpwent will return the first entry again.
|
|
279
281
|
#
|
|
280
282
|
def self?.setpwent: () -> void
|
|
281
283
|
|
|
@@ -301,9 +303,10 @@ module Etc
|
|
|
301
303
|
# -->
|
|
302
304
|
# Returns system configuration directory.
|
|
303
305
|
#
|
|
304
|
-
# This is typically
|
|
305
|
-
# compiled. For example, if Ruby is built and installed in
|
|
306
|
-
#
|
|
306
|
+
# This is typically <code>"/etc"</code>, but is modified by the prefix used when
|
|
307
|
+
# Ruby was compiled. For example, if Ruby is built and installed in
|
|
308
|
+
# <code>/usr/local</code>, returns <code>"/usr/local/etc"</code> on other
|
|
309
|
+
# platforms than Windows.
|
|
307
310
|
#
|
|
308
311
|
# On Windows, this always returns the directory provided by the system.
|
|
309
312
|
#
|
|
@@ -326,7 +329,7 @@ module Etc
|
|
|
326
329
|
# The return value is a hash which has 5 keys at least:
|
|
327
330
|
# :sysname, :nodename, :release, :version, :machine
|
|
328
331
|
#
|
|
329
|
-
#
|
|
332
|
+
# <strong>Example:</strong>
|
|
330
333
|
#
|
|
331
334
|
# require 'etc'
|
|
332
335
|
# require 'pp'
|
|
@@ -666,10 +669,10 @@ module Etc
|
|
|
666
669
|
# : contains the name of the group as a String.
|
|
667
670
|
#
|
|
668
671
|
# passwd
|
|
669
|
-
# : contains the encrypted password as a String. An
|
|
670
|
-
# password access to the group is not available; an empty string
|
|
671
|
-
# if no password is needed to obtain membership of the group.
|
|
672
|
-
# system-dependent.
|
|
672
|
+
# : contains the encrypted password as a String. An <code>'x'</code> is
|
|
673
|
+
# returned if password access to the group is not available; an empty string
|
|
674
|
+
# is returned if no password is needed to obtain membership of the group.
|
|
675
|
+
# This is system-dependent.
|
|
673
676
|
#
|
|
674
677
|
# gid
|
|
675
678
|
# : contains the group's numeric ID as an integer.
|
|
@@ -688,13 +691,14 @@ module Etc
|
|
|
688
691
|
# - Etc::Group.each { |group| block } -> Etc::Group
|
|
689
692
|
# - Etc::Group.each -> Enumerator
|
|
690
693
|
# -->
|
|
691
|
-
# Iterates for each entry in the
|
|
694
|
+
# Iterates for each entry in the <code>/etc/group</code> file if a block is
|
|
695
|
+
# given.
|
|
692
696
|
#
|
|
693
697
|
# If no block is given, returns the Enumerator.
|
|
694
698
|
#
|
|
695
699
|
# The code block is passed a Group struct.
|
|
696
700
|
#
|
|
697
|
-
#
|
|
701
|
+
# <strong>Example:</strong>
|
|
698
702
|
#
|
|
699
703
|
# require 'etc'
|
|
700
704
|
#
|
|
@@ -741,9 +745,9 @@ module Etc
|
|
|
741
745
|
# : contains the short login name of the user as a String.
|
|
742
746
|
#
|
|
743
747
|
# passwd
|
|
744
|
-
# : contains the encrypted password of the user as a String. an
|
|
745
|
-
# returned if shadow passwords are in use. An
|
|
746
|
-
# cannot log in using a password.
|
|
748
|
+
# : contains the encrypted password of the user as a String. an
|
|
749
|
+
# <code>'x'</code> is returned if shadow passwords are in use. An
|
|
750
|
+
# <code>'*'</code> is returned if the user cannot log in using a password.
|
|
747
751
|
#
|
|
748
752
|
# uid
|
|
749
753
|
# : contains the integer user ID (uid) of the user.
|
|
@@ -793,7 +797,8 @@ module Etc
|
|
|
793
797
|
# - Etc::Passwd.each { |struct| block } -> Etc::Passwd
|
|
794
798
|
# - Etc::Passwd.each -> Enumerator
|
|
795
799
|
# -->
|
|
796
|
-
# Iterates for each entry in the
|
|
800
|
+
# Iterates for each entry in the <code>/etc/passwd</code> file if a block is
|
|
801
|
+
# given.
|
|
797
802
|
#
|
|
798
803
|
# If no block is given, returns the Enumerator.
|
|
799
804
|
#
|
|
@@ -801,7 +806,7 @@ module Etc
|
|
|
801
806
|
#
|
|
802
807
|
# See Etc.getpwent above for details.
|
|
803
808
|
#
|
|
804
|
-
#
|
|
809
|
+
# <strong>Example:</strong>
|
|
805
810
|
#
|
|
806
811
|
# require 'etc'
|
|
807
812
|
#
|