rbs 4.0.0.dev.4 → 4.1.0.pre.2
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/.clang-format +1 -0
- data/.github/dependabot.yml +16 -14
- data/.github/workflows/bundle-update.yml +63 -0
- data/.github/workflows/c-check.yml +21 -11
- data/.github/workflows/comments.yml +5 -3
- data/.github/workflows/dependabot.yml +2 -2
- data/.github/workflows/jruby.yml +67 -0
- data/.github/workflows/milestone.yml +83 -0
- data/.github/workflows/ruby.yml +63 -24
- data/.github/workflows/rust.yml +184 -0
- data/.github/workflows/truffleruby.yml +54 -0
- data/.github/workflows/typecheck.yml +5 -2
- data/.github/workflows/wasm.yml +53 -0
- data/.github/workflows/windows.yml +8 -2
- data/.gitignore +11 -0
- data/.rubocop.yml +1 -1
- data/CHANGELOG.md +357 -0
- data/README.md +4 -4
- data/Rakefile +365 -33
- data/Steepfile +8 -0
- data/config.yml +450 -24
- data/core/array.rbs +443 -363
- data/core/basic_object.rbs +9 -8
- data/core/binding.rbs +0 -2
- data/core/builtin.rbs +9 -8
- data/core/class.rbs +11 -8
- 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 +288 -196
- data/core/enumerator/arithmetic_sequence.rbs +70 -0
- data/core/enumerator/product.rbs +5 -5
- data/core/enumerator.rbs +91 -28
- 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 +260 -1151
- data/core/file_constants.rbs +463 -0
- data/core/file_stat.rbs +534 -0
- data/core/file_test.rbs +3 -3
- data/core/float.rbs +257 -92
- data/core/gc.rbs +425 -281
- data/core/hash.rbs +1151 -829
- data/core/integer.rbs +156 -195
- data/core/io/buffer.rbs +53 -42
- data/core/io/wait.rbs +13 -35
- data/core/io.rbs +216 -150
- data/core/kernel.rbs +239 -163
- 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 +302 -150
- data/core/nil_class.rbs +7 -6
- data/core/numeric.rbs +77 -63
- data/core/object.rbs +9 -11
- data/core/object_space/weak_key_map.rbs +7 -7
- 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 +181 -79
- data/core/rational.rbs +60 -89
- data/core/rbs/ops.rbs +154 -0
- data/core/rbs/unnamed/argf.rbs +63 -56
- 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 +78 -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 +493 -363
- data/core/signal.rbs +26 -16
- data/core/string.rbs +3234 -1285
- data/core/struct.rbs +43 -42
- data/core/symbol.rbs +41 -34
- data/core/thread.rbs +141 -73
- 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/CONTRIBUTING.md +2 -1
- 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 +634 -0
- data/docs/rbs_by_example.md +20 -20
- data/docs/rust.md +96 -0
- data/docs/sigs.md +3 -3
- data/docs/syntax.md +48 -18
- data/docs/type_fingerprint.md +21 -0
- data/docs/wasm_serialization.md +80 -0
- data/exe/rbs +1 -1
- data/ext/rbs_extension/ast_translation.c +1441 -671
- data/ext/rbs_extension/ast_translation.h +7 -0
- data/ext/rbs_extension/class_constants.c +18 -2
- data/ext/rbs_extension/class_constants.h +9 -0
- data/ext/rbs_extension/extconf.rb +6 -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 +183 -39
- data/include/rbs/ast.h +597 -297
- data/include/rbs/defines.h +40 -0
- data/include/rbs/lexer.h +31 -11
- data/include/rbs/location.h +25 -44
- data/include/rbs/parser.h +6 -6
- data/include/rbs/serialize.h +39 -0
- 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/annotate/rdoc_annotator.rb +27 -31
- 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 +335 -3
- data/lib/rbs/ast/ruby/comment_block.rb +30 -4
- data/lib/rbs/ast/ruby/declarations.rb +209 -4
- data/lib/rbs/ast/ruby/helpers/constant_helper.rb +4 -0
- data/lib/rbs/ast/ruby/helpers/location_helper.rb +1 -1
- data/lib/rbs/ast/ruby/members.rb +571 -22
- data/lib/rbs/ast/type_param.rb +24 -4
- data/lib/rbs/buffer.rb +66 -24
- data/lib/rbs/cli/diff.rb +16 -15
- data/lib/rbs/cli/validate.rb +38 -106
- data/lib/rbs/cli.rb +55 -24
- data/lib/rbs/collection/config/lockfile_generator.rb +28 -3
- data/lib/rbs/collection/sources/git.rb +7 -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 +32 -6
- data/lib/rbs/definition_builder.rb +147 -25
- data/lib/rbs/diff.rb +7 -1
- data/lib/rbs/environment.rb +235 -75
- data/lib/rbs/environment_loader.rb +0 -6
- data/lib/rbs/errors.rb +27 -18
- data/lib/rbs/inline_parser.rb +377 -15
- 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/namespace.rb +47 -11
- 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 +10 -0
- data/lib/rbs/resolver/constant_resolver.rb +2 -2
- data/lib/rbs/resolver/type_name_resolver.rb +120 -44
- data/lib/rbs/rewriter.rb +70 -0
- data/lib/rbs/subtractor.rb +3 -1
- data/lib/rbs/test/type_check.rb +25 -3
- data/lib/rbs/type_name.rb +34 -14
- data/lib/rbs/types.rb +88 -78
- data/lib/rbs/unit_test/type_assertions.rb +44 -8
- data/lib/rbs/validator.rb +2 -2
- data/lib/rbs/version.rb +1 -1
- data/lib/rbs/wasm/deserializer.rb +213 -0
- data/lib/rbs/wasm/location.rb +61 -0
- data/lib/rbs/wasm/parser.rb +137 -0
- data/lib/rbs/wasm/runtime.rb +217 -0
- data/lib/rbs/wasm/serialization_schema.rb +110 -0
- data/lib/rbs.rb +13 -2
- data/lib/rdoc/discover.rb +1 -1
- data/lib/rdoc_plugin/parser.rb +1 -1
- data/rbs.gemspec +24 -6
- data/schema/typeParam.json +17 -1
- data/sig/annotate/rdoc_annotater.rbs +12 -9
- data/sig/ast/ruby/annotations.rbs +364 -4
- data/sig/ast/ruby/comment_block.rbs +8 -0
- data/sig/ast/ruby/declarations.rbs +102 -4
- data/sig/ast/ruby/members.rbs +128 -2
- data/sig/buffer.rbs +19 -1
- data/sig/cli/diff.rbs +5 -11
- data/sig/cli/validate.rbs +12 -8
- data/sig/cli.rbs +18 -18
- data/sig/collection/config/lockfile_generator.rbs +2 -0
- 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 +41 -2
- data/sig/locator.rbs +0 -2
- data/sig/manifest.yaml +0 -2
- data/sig/method_builder.rbs +3 -1
- data/sig/namespace.rbs +20 -0
- data/sig/parser.rbs +41 -13
- data/sig/prototype/helpers.rbs +2 -0
- data/sig/resolver/type_name_resolver.rbs +36 -10
- data/sig/rewriter.rbs +45 -0
- data/sig/source.rbs +3 -3
- data/sig/type_param.rbs +13 -8
- data/sig/typename.rbs +15 -0
- data/sig/types.rbs +6 -7
- data/sig/unit_test/spy.rbs +0 -8
- data/sig/unit_test/type_assertions.rbs +15 -0
- data/sig/wasm/deserializer.rbs +66 -0
- data/sig/wasm/serialization_schema.rbs +13 -0
- data/src/ast.c +443 -162
- data/src/lexer.c +1415 -1313
- data/src/lexer.re +4 -0
- data/src/lexstate.c +63 -37
- data/src/location.c +7 -47
- data/src/parser.c +1032 -521
- data/src/serialize.c +958 -0
- data/src/string.c +0 -48
- data/src/util/rbs_allocator.c +89 -74
- 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/abbrev/0/array.rbs +1 -1
- 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/csv/0/csv.rbs +5 -5
- 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 +111 -1
- data/stdlib/erb/0/erb.rbs +748 -347
- data/stdlib/etc/0/etc.rbs +73 -54
- data/stdlib/fileutils/0/fileutils.rbs +179 -160
- data/stdlib/forwardable/0/forwardable.rbs +13 -10
- data/stdlib/io-console/0/io-console.rbs +2 -2
- data/stdlib/json/0/json.rbs +223 -142
- 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 +482 -364
- 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 +26 -69
- 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 +3 -3
- 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 +1209 -95
- data/stdlib/strscan/0/string_scanner.rbs +101 -80
- 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 +4 -1
- data/stdlib/tsort/0/interfaces.rbs +8 -8
- data/stdlib/tsort/0/tsort.rbs +16 -15
- 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 +8 -8
- 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
- data/wasm/README.md +59 -0
- data/wasm/rbs_wasm.c +411 -0
- metadata +56 -8
- data/.vscode/extensions.json +0 -5
- data/.vscode/settings.json +0 -19
data/core/rbs/unnamed/random.rbs
CHANGED
|
@@ -31,12 +31,14 @@ module RBS
|
|
|
31
31
|
# prng.rand(100) # => 42
|
|
32
32
|
#
|
|
33
33
|
# When `max` is a Float, `rand` returns a random floating point number between
|
|
34
|
-
# 0.0 and `max`, including 0.0 and excluding `max`.
|
|
34
|
+
# 0.0 and `max`, including 0.0 and excluding `max`. Note that it behaves
|
|
35
|
+
# differently from Kernel.rand.
|
|
35
36
|
#
|
|
36
|
-
# prng.rand(1.5)
|
|
37
|
+
# prng.rand(1.5) # => 1.4600282860034115
|
|
38
|
+
# rand(1.5) # => 0
|
|
37
39
|
#
|
|
38
40
|
# When `range` is a Range, `rand` returns a random number where
|
|
39
|
-
#
|
|
41
|
+
# <code>range.member?(number) == true</code>.
|
|
40
42
|
#
|
|
41
43
|
# prng.rand(5..9) # => one of [5, 6, 7, 8, 9]
|
|
42
44
|
# prng.rand(5...9) # => one of [5, 6, 7, 8]
|
|
@@ -44,7 +46,8 @@ module RBS
|
|
|
44
46
|
# prng.rand(5.0...9.0) # => between 5.0 and 9.0, excluding 9.0
|
|
45
47
|
#
|
|
46
48
|
# Both the beginning and ending values of the range must respond to subtract
|
|
47
|
-
# (
|
|
49
|
+
# (<code>-</code>) and add (<code>+</code>)methods, or rand will raise an
|
|
50
|
+
# ArgumentError.
|
|
48
51
|
#
|
|
49
52
|
%a{annotate:rdoc:copy:Random#rand}
|
|
50
53
|
def rand: (?0) -> Float
|
|
@@ -85,9 +88,10 @@ module RBS
|
|
|
85
88
|
# <!-- rdoc-file=lib/random/formatter.rb -->
|
|
86
89
|
# ## Random number formatter.
|
|
87
90
|
#
|
|
88
|
-
# Formats generated random numbers in many manners. When
|
|
89
|
-
# required, several methods are added to
|
|
90
|
-
#
|
|
91
|
+
# Formats generated random numbers in many manners. When
|
|
92
|
+
# <code>'random/formatter'</code> is required, several methods are added to
|
|
93
|
+
# empty core module <code>Random::Formatter</code>, making them available as
|
|
94
|
+
# Random's instance and module methods.
|
|
91
95
|
#
|
|
92
96
|
# Standard library SecureRandom is also extended with the module, and the
|
|
93
97
|
# methods described below are available as a module methods in it.
|
|
@@ -146,56 +150,6 @@ module RBS
|
|
|
146
150
|
#
|
|
147
151
|
%a{annotate:rdoc:copy:Random::Formatter}
|
|
148
152
|
module Random_Formatter
|
|
149
|
-
# <!--
|
|
150
|
-
# rdoc-file=lib/random/formatter.rb
|
|
151
|
-
# - base64(n=nil)
|
|
152
|
-
# -->
|
|
153
|
-
# Generate a random base64 string.
|
|
154
|
-
#
|
|
155
|
-
# The argument *n* specifies the length, in bytes, of the random number to be
|
|
156
|
-
# generated. The length of the result string is about 4/3 of *n*.
|
|
157
|
-
#
|
|
158
|
-
# If *n* is not specified or is nil, 16 is assumed. It may be larger in the
|
|
159
|
-
# future.
|
|
160
|
-
#
|
|
161
|
-
# The result may contain A-Z, a-z, 0-9, "+", "/" and "=".
|
|
162
|
-
#
|
|
163
|
-
# require 'random/formatter'
|
|
164
|
-
#
|
|
165
|
-
# Random.base64 #=> "/2BuBuLf3+WfSKyQbRcc/A=="
|
|
166
|
-
# # or
|
|
167
|
-
# prng = Random.new
|
|
168
|
-
# prng.base64 #=> "6BbW0pxO0YENxn38HMUbcQ=="
|
|
169
|
-
#
|
|
170
|
-
# See RFC 3548 for the definition of base64.
|
|
171
|
-
#
|
|
172
|
-
%a{annotate:rdoc:copy:Random::Formatter#base64}
|
|
173
|
-
def base64: (?Integer? n) -> String
|
|
174
|
-
|
|
175
|
-
# <!--
|
|
176
|
-
# rdoc-file=lib/random/formatter.rb
|
|
177
|
-
# - hex(n=nil)
|
|
178
|
-
# -->
|
|
179
|
-
# Generate a random hexadecimal string.
|
|
180
|
-
#
|
|
181
|
-
# The argument *n* specifies the length, in bytes, of the random number to be
|
|
182
|
-
# generated. The length of the resulting hexadecimal string is twice of *n*.
|
|
183
|
-
#
|
|
184
|
-
# If *n* is not specified or is nil, 16 is assumed. It may be larger in the
|
|
185
|
-
# future.
|
|
186
|
-
#
|
|
187
|
-
# The result may contain 0-9 and a-f.
|
|
188
|
-
#
|
|
189
|
-
# require 'random/formatter'
|
|
190
|
-
#
|
|
191
|
-
# Random.hex #=> "eb693ec8252cd630102fd0d0fb7c3485"
|
|
192
|
-
# # or
|
|
193
|
-
# prng = Random.new
|
|
194
|
-
# prng.hex #=> "91dc3bfb4de5b11d029d376634589b61"
|
|
195
|
-
#
|
|
196
|
-
%a{annotate:rdoc:copy:Random::Formatter#hex}
|
|
197
|
-
def hex: (?Integer? n) -> String
|
|
198
|
-
|
|
199
153
|
# <!-- rdoc-file=random.c -->
|
|
200
154
|
# Generates formatted random number from raw random bytes. See Random#rand.
|
|
201
155
|
#
|
|
@@ -208,9 +162,6 @@ module RBS
|
|
|
208
162
|
| (::Range[Integer] n) -> Integer
|
|
209
163
|
| (::Range[Numeric] n) -> Numeric
|
|
210
164
|
|
|
211
|
-
%a{annotate:rdoc:copy:Random::Formatter#random_byte}
|
|
212
|
-
def random_bytes: (?Integer? n) -> String
|
|
213
|
-
|
|
214
165
|
# <!--
|
|
215
166
|
# rdoc-file=random.c
|
|
216
167
|
# - prng.random_number -> float
|
|
@@ -230,64 +181,6 @@ module RBS
|
|
|
230
181
|
| (?::Range[Float]? n) -> Float
|
|
231
182
|
| (?::Range[Integer]? n) -> Integer
|
|
232
183
|
| (?::Range[Numeric]? n) -> Numeric
|
|
233
|
-
|
|
234
|
-
# <!--
|
|
235
|
-
# rdoc-file=lib/random/formatter.rb
|
|
236
|
-
# - urlsafe_base64(n=nil, padding=false)
|
|
237
|
-
# -->
|
|
238
|
-
# Generate a random URL-safe base64 string.
|
|
239
|
-
#
|
|
240
|
-
# The argument *n* specifies the length, in bytes, of the random number to be
|
|
241
|
-
# generated. The length of the result string is about 4/3 of *n*.
|
|
242
|
-
#
|
|
243
|
-
# If *n* is not specified or is nil, 16 is assumed. It may be larger in the
|
|
244
|
-
# future.
|
|
245
|
-
#
|
|
246
|
-
# The boolean argument *padding* specifies the padding. If it is false or nil,
|
|
247
|
-
# padding is not generated. Otherwise padding is generated. By default, padding
|
|
248
|
-
# is not generated because "=" may be used as a URL delimiter.
|
|
249
|
-
#
|
|
250
|
-
# The result may contain A-Z, a-z, 0-9, "-" and "_". "=" is also used if
|
|
251
|
-
# *padding* is true.
|
|
252
|
-
#
|
|
253
|
-
# require 'random/formatter'
|
|
254
|
-
#
|
|
255
|
-
# Random.urlsafe_base64 #=> "b4GOKm4pOYU_-BOXcrUGDg"
|
|
256
|
-
# # or
|
|
257
|
-
# prng = Random.new
|
|
258
|
-
# prng.urlsafe_base64 #=> "UZLdOkzop70Ddx-IJR0ABg"
|
|
259
|
-
#
|
|
260
|
-
# prng.urlsafe_base64(nil, true) #=> "i0XQ-7gglIsHGV2_BNPrdQ=="
|
|
261
|
-
# prng.urlsafe_base64(nil, true) #=> "-M8rLhr7JEpJlqFGUMmOxg=="
|
|
262
|
-
#
|
|
263
|
-
# See RFC 3548 for the definition of URL-safe base64.
|
|
264
|
-
#
|
|
265
|
-
%a{annotate:rdoc:copy:Random::Formatter#urlsafe_base64}
|
|
266
|
-
def urlsafe_base64: (?Integer? n, ?boolish padding) -> String
|
|
267
|
-
|
|
268
|
-
# <!--
|
|
269
|
-
# rdoc-file=lib/random/formatter.rb
|
|
270
|
-
# - uuid()
|
|
271
|
-
# -->
|
|
272
|
-
# Generate a random v4 UUID (Universally Unique IDentifier).
|
|
273
|
-
#
|
|
274
|
-
# require 'random/formatter'
|
|
275
|
-
#
|
|
276
|
-
# Random.uuid #=> "2d931510-d99f-494a-8c67-87feb05e1594"
|
|
277
|
-
# Random.uuid #=> "bad85eb9-0713-4da7-8d36-07a8e4b00eab"
|
|
278
|
-
# # or
|
|
279
|
-
# prng = Random.new
|
|
280
|
-
# prng.uuid #=> "62936e70-1815-439b-bf89-8492855a7e6b"
|
|
281
|
-
#
|
|
282
|
-
# The version 4 UUID is purely random (except the version). It doesn't contain
|
|
283
|
-
# meaningful information such as MAC addresses, timestamps, etc.
|
|
284
|
-
#
|
|
285
|
-
# The result contains 122 random bits (15.25 random bytes).
|
|
286
|
-
#
|
|
287
|
-
# See [RFC9562](https://www.rfc-editor.org/rfc/rfc9562) for details of UUIDv4.
|
|
288
|
-
#
|
|
289
|
-
%a{annotate:rdoc:copy:Random::Formatter#uuid}
|
|
290
|
-
def uuid: () -> String
|
|
291
184
|
end
|
|
292
185
|
end
|
|
293
186
|
end
|