rbs 2.0.0 → 2.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (179) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ruby.yml +5 -0
  3. data/CHANGELOG.md +23 -0
  4. data/README.md +6 -1
  5. data/core/array.rbs +2866 -1086
  6. data/core/basic_object.rbs +150 -30
  7. data/core/binding.rbs +33 -0
  8. data/core/builtin.rbs +4 -4
  9. data/core/class.rbs +43 -5
  10. data/core/comparable.rbs +57 -0
  11. data/core/complex.rbs +170 -4
  12. data/core/constants.rbs +51 -0
  13. data/core/deprecated.rbs +7 -0
  14. data/core/dir.rbs +305 -20
  15. data/core/encoding.rbs +472 -77
  16. data/core/enumerable.rbs +2173 -234
  17. data/core/enumerator.rbs +448 -182
  18. data/core/env.rbs +448 -1
  19. data/core/errno.rbs +1 -10
  20. data/core/errors.rbs +152 -2
  21. data/core/exception.rbs +201 -127
  22. data/core/false_class.rbs +27 -0
  23. data/core/fiber.rbs +118 -37
  24. data/core/fiber_error.rbs +8 -9
  25. data/core/file.rbs +1059 -139
  26. data/core/file_test.rbs +287 -32
  27. data/core/float.rbs +776 -300
  28. data/core/gc.rbs +185 -34
  29. data/core/global_variables.rbs +5 -1
  30. data/core/hash.rbs +1582 -649
  31. data/core/integer.rbs +974 -204
  32. data/core/io/buffer.rbs +710 -0
  33. data/core/io/wait.rbs +29 -8
  34. data/core/io.rbs +2438 -417
  35. data/core/kernel.rbs +2315 -316
  36. data/core/marshal.rbs +37 -2
  37. data/core/match_data.rbs +123 -6
  38. data/core/math.rbs +126 -6
  39. data/core/method.rbs +226 -102
  40. data/core/module.rbs +421 -45
  41. data/core/nil_class.rbs +64 -0
  42. data/core/numeric.rbs +620 -142
  43. data/core/object.rbs +453 -81
  44. data/core/object_space.rbs +92 -2
  45. data/core/proc.rbs +482 -285
  46. data/core/process.rbs +443 -34
  47. data/core/ractor.rbs +232 -9
  48. data/core/random.rbs +151 -52
  49. data/core/range.rbs +885 -160
  50. data/core/rational.rbs +122 -6
  51. data/core/rb_config.rbs +14 -4
  52. data/core/refinement.rbs +44 -0
  53. data/core/regexp.rbs +156 -14
  54. data/core/ruby_vm.rbs +42 -3
  55. data/core/signal.rbs +78 -39
  56. data/core/string.rbs +2123 -567
  57. data/core/string_io.rbs +204 -0
  58. data/core/struct.rbs +283 -28
  59. data/core/symbol.rbs +304 -30
  60. data/core/thread.rbs +1288 -688
  61. data/core/thread_group.rbs +66 -10
  62. data/core/time.rbs +643 -217
  63. data/core/trace_point.rbs +100 -12
  64. data/core/true_class.rbs +24 -0
  65. data/core/unbound_method.rbs +73 -7
  66. data/core/warning.rbs +37 -12
  67. data/docs/CONTRIBUTING.md +40 -34
  68. data/docs/stdlib.md +3 -102
  69. data/lib/rbs/annotate/annotations.rb +197 -0
  70. data/lib/rbs/annotate/formatter.rb +80 -0
  71. data/lib/rbs/annotate/rdoc_annotator.rb +398 -0
  72. data/lib/rbs/annotate/rdoc_source.rb +120 -0
  73. data/lib/rbs/annotate.rb +6 -0
  74. data/lib/rbs/cli.rb +45 -1
  75. data/lib/rbs/definition_builder.rb +5 -1
  76. data/lib/rbs/location_aux.rb +12 -0
  77. data/lib/rbs/prototype/rb.rb +12 -0
  78. data/lib/rbs/version.rb +1 -1
  79. data/sig/annotate/annotations.rbs +102 -0
  80. data/sig/annotate/formatter.rbs +24 -0
  81. data/sig/annotate/rdoc_annotater.rbs +82 -0
  82. data/sig/annotate/rdoc_source.rbs +30 -0
  83. data/sig/cli.rbs +2 -0
  84. data/sig/collection/{collections.rbs → sources.rbs} +0 -0
  85. data/sig/location.rbs +6 -0
  86. data/sig/method_types.rbs +5 -1
  87. data/sig/polyfill.rbs +78 -0
  88. data/stdlib/abbrev/0/abbrev.rbs +6 -0
  89. data/stdlib/abbrev/0/array.rbs +26 -0
  90. data/stdlib/base64/0/base64.rbs +31 -0
  91. data/stdlib/benchmark/0/benchmark.rbs +74 -3
  92. data/stdlib/bigdecimal/0/big_decimal.rbs +614 -165
  93. data/stdlib/bigdecimal-math/0/big_math.rbs +41 -64
  94. data/stdlib/cgi/0/core.rbs +59 -0
  95. data/stdlib/coverage/0/coverage.rbs +164 -2
  96. data/stdlib/csv/0/csv.rbs +2862 -398
  97. data/stdlib/date/0/date.rbs +483 -25
  98. data/stdlib/date/0/date_time.rbs +187 -12
  99. data/stdlib/dbm/0/dbm.rbs +152 -17
  100. data/stdlib/digest/0/digest.rbs +146 -0
  101. data/stdlib/erb/0/erb.rbs +65 -245
  102. data/stdlib/fiber/0/fiber.rbs +73 -91
  103. data/stdlib/fileutils/0/fileutils.rbs +301 -1
  104. data/stdlib/find/0/find.rbs +9 -0
  105. data/stdlib/forwardable/0/forwardable.rbs +65 -1
  106. data/stdlib/io-console/0/io-console.rbs +227 -15
  107. data/stdlib/ipaddr/0/ipaddr.rbs +161 -0
  108. data/stdlib/json/0/json.rbs +1146 -144
  109. data/stdlib/logger/0/formatter.rbs +24 -0
  110. data/stdlib/logger/0/log_device.rbs +64 -0
  111. data/stdlib/logger/0/logger.rbs +165 -13
  112. data/stdlib/logger/0/period.rbs +10 -0
  113. data/stdlib/logger/0/severity.rbs +26 -0
  114. data/stdlib/monitor/0/monitor.rbs +163 -0
  115. data/stdlib/mutex_m/0/mutex_m.rbs +35 -6
  116. data/stdlib/net-http/0/net-http.rbs +1492 -683
  117. data/stdlib/nkf/0/nkf.rbs +372 -0
  118. data/stdlib/objspace/0/objspace.rbs +149 -90
  119. data/stdlib/openssl/0/openssl.rbs +8108 -71
  120. data/stdlib/optparse/0/optparse.rbs +487 -19
  121. data/stdlib/pathname/0/pathname.rbs +425 -124
  122. data/stdlib/prettyprint/0/prettyprint.rbs +120 -99
  123. data/stdlib/prime/0/integer-extension.rbs +20 -2
  124. data/stdlib/prime/0/prime.rbs +88 -21
  125. data/stdlib/pstore/0/pstore.rbs +102 -0
  126. data/stdlib/pty/0/pty.rbs +64 -14
  127. data/stdlib/resolv/0/resolv.rbs +420 -31
  128. data/stdlib/rubygems/0/basic_specification.rbs +4 -1
  129. data/stdlib/rubygems/0/config_file.rbs +33 -1
  130. data/stdlib/rubygems/0/dependency_installer.rbs +4 -3
  131. data/stdlib/rubygems/0/installer.rbs +13 -1
  132. data/stdlib/rubygems/0/path_support.rbs +4 -1
  133. data/stdlib/rubygems/0/platform.rbs +5 -1
  134. data/stdlib/rubygems/0/request_set.rbs +44 -2
  135. data/stdlib/rubygems/0/requirement.rbs +65 -2
  136. data/stdlib/rubygems/0/rubygems.rbs +407 -0
  137. data/stdlib/rubygems/0/source_list.rbs +13 -0
  138. data/stdlib/rubygems/0/specification.rbs +21 -1
  139. data/stdlib/rubygems/0/stream_ui.rbs +3 -1
  140. data/stdlib/rubygems/0/uninstaller.rbs +8 -1
  141. data/stdlib/rubygems/0/version.rbs +60 -157
  142. data/stdlib/securerandom/0/securerandom.rbs +44 -0
  143. data/stdlib/set/0/set.rbs +420 -106
  144. data/stdlib/shellwords/0/shellwords.rbs +55 -77
  145. data/stdlib/singleton/0/singleton.rbs +20 -0
  146. data/stdlib/socket/0/addrinfo.rbs +210 -9
  147. data/stdlib/socket/0/basic_socket.rbs +103 -11
  148. data/stdlib/socket/0/ip_socket.rbs +31 -9
  149. data/stdlib/socket/0/socket.rbs +586 -38
  150. data/stdlib/socket/0/tcp_server.rbs +22 -2
  151. data/stdlib/socket/0/tcp_socket.rbs +12 -1
  152. data/stdlib/socket/0/udp_socket.rbs +25 -2
  153. data/stdlib/socket/0/unix_server.rbs +22 -2
  154. data/stdlib/socket/0/unix_socket.rbs +45 -5
  155. data/stdlib/strscan/0/string_scanner.rbs +210 -9
  156. data/stdlib/tempfile/0/tempfile.rbs +58 -10
  157. data/stdlib/time/0/time.rbs +208 -116
  158. data/stdlib/timeout/0/timeout.rbs +10 -0
  159. data/stdlib/tmpdir/0/tmpdir.rbs +13 -4
  160. data/stdlib/tsort/0/cyclic.rbs +1 -0
  161. data/stdlib/tsort/0/interfaces.rbs +1 -0
  162. data/stdlib/tsort/0/tsort.rbs +42 -0
  163. data/stdlib/uri/0/common.rbs +57 -8
  164. data/stdlib/uri/0/file.rbs +55 -109
  165. data/stdlib/uri/0/ftp.rbs +6 -3
  166. data/stdlib/uri/0/generic.rbs +556 -327
  167. data/stdlib/uri/0/http.rbs +26 -115
  168. data/stdlib/uri/0/https.rbs +8 -102
  169. data/stdlib/uri/0/ldap.rbs +143 -137
  170. data/stdlib/uri/0/ldaps.rbs +8 -102
  171. data/stdlib/uri/0/mailto.rbs +3 -0
  172. data/stdlib/uri/0/rfc2396_parser.rbs +66 -26
  173. data/stdlib/uri/0/ws.rbs +6 -3
  174. data/stdlib/uri/0/wss.rbs +5 -3
  175. data/stdlib/yaml/0/dbm.rbs +151 -87
  176. data/stdlib/yaml/0/store.rbs +6 -0
  177. data/stdlib/zlib/0/zlib.rbs +90 -31
  178. metadata +17 -5
  179. data/lib/rbs/location.rb +0 -221
data/core/random.rbs CHANGED
@@ -1,3 +1,4 @@
1
+ # <!-- rdoc-file=random.c -->
1
2
  # Random provides an interface to Ruby's pseudo-random number generator, or
2
3
  # PRNG. The PRNG produces a deterministic sequence of bits which approximate
3
4
  # true randomness. The sequence may be represented by integers, floats, or
@@ -8,19 +9,24 @@
8
9
  #
9
10
  # The class method Random.rand provides the base functionality of Kernel.rand
10
11
  # along with better handling of floating point values. These are both interfaces
11
- # to Random::DEFAULT, the Ruby system PRNG.
12
+ # to the Ruby system PRNG.
12
13
  #
13
- # Random.new will create a new PRNG with a state independent of Random::DEFAULT,
14
- # allowing multiple generators with different seed values or sequence positions
15
- # to exist simultaneously. Random objects can be marshaled, allowing sequences
16
- # to be saved and resumed.
14
+ # Random.new will create a new PRNG with a state independent of the Ruby system
15
+ # PRNG, allowing multiple generators with different seed values or sequence
16
+ # positions to exist simultaneously. Random objects can be marshaled, allowing
17
+ # sequences to be saved and resumed.
17
18
  #
18
19
  # PRNGs are currently implemented as a modified Mersenne Twister with a period
19
- # of 2**19937-1.
20
+ # of 2**19937-1. As this algorithm is *not* for cryptographical use, you must
21
+ # use SecureRandom for security purpose, instead of this PRNG.
20
22
  #
21
23
  class Random < Object
22
24
  include Random::Formatter
23
25
 
26
+ # <!--
27
+ # rdoc-file=random.c
28
+ # - prng1 == prng2 -> true or false
29
+ # -->
24
30
  # Returns true if the two generators have the same internal state, otherwise
25
31
  # false. Equivalent generators will return the same sequence of pseudo-random
26
32
  # numbers. Two generators will generally have the same state only if they were
@@ -43,6 +49,10 @@ class Random < Object
43
49
  #
44
50
  def ==: (untyped arg0) -> bool
45
51
 
52
+ # <!--
53
+ # rdoc-file=random.c
54
+ # - prng.bytes(size) -> string
55
+ # -->
46
56
  # Returns a random binary string containing `size` bytes.
47
57
  #
48
58
  # random_string = Random.new.bytes(10) # => "\xD7:R\xAB?\x83\xCE\xFAkO"
@@ -50,6 +60,10 @@ class Random < Object
50
60
  #
51
61
  def bytes: (Integer size) -> String
52
62
 
63
+ # <!--
64
+ # rdoc-file=random.c
65
+ # - Random.new(seed = Random.new_seed) -> prng
66
+ # -->
53
67
  # Creates a new PRNG using `seed` to set the initial state. If `seed` is
54
68
  # omitted, the generator is initialized with Random.new_seed.
55
69
  #
@@ -57,6 +71,12 @@ class Random < Object
57
71
  #
58
72
  def initialize: (?Integer seed) -> void
59
73
 
74
+ # <!--
75
+ # rdoc-file=random.c
76
+ # - prng.rand -> float
77
+ # - prng.rand(max) -> number
78
+ # - prng.rand(range) -> number
79
+ # -->
60
80
  # When `max` is an Integer, `rand` returns a random integer greater than or
61
81
  # equal to zero and less than `max`. Unlike Kernel.rand, when `max` is a
62
82
  # negative integer or zero, `rand` raises an ArgumentError.
@@ -69,8 +89,8 @@ class Random < Object
69
89
  #
70
90
  # prng.rand(1.5) # => 1.4600282860034115
71
91
  #
72
- # When `max` is a Range, `rand` returns a random number where
73
- # range.member?(number) == true.
92
+ # When `range` is a Range, `rand` returns a random number where
93
+ # `range.member?(number) == true`.
74
94
  #
75
95
  # prng.rand(5..9) # => one of [5, 6, 7, 8, 9]
76
96
  # prng.rand(5...9) # => one of [5, 6, 7, 8]
@@ -84,6 +104,10 @@ class Random < Object
84
104
  | (Integer | ::Range[Integer] max) -> Integer
85
105
  | (Float | ::Range[Float] max) -> Float
86
106
 
107
+ # <!--
108
+ # rdoc-file=random.c
109
+ # - prng.seed -> integer
110
+ # -->
87
111
  # Returns the seed value used to initialize the generator. This may be used to
88
112
  # initialize another generator with the same state at a later time, causing it
89
113
  # to produce the same sequence of numbers.
@@ -97,6 +121,10 @@ class Random < Object
97
121
  #
98
122
  def seed: () -> Integer
99
123
 
124
+ # <!--
125
+ # rdoc-file=random.c
126
+ # - Random.new_seed -> integer
127
+ # -->
100
128
  # Returns an arbitrary seed value. This is used by Random.new when no seed value
101
129
  # is specified as an argument.
102
130
  #
@@ -104,14 +132,26 @@ class Random < Object
104
132
  #
105
133
  def self.new_seed: () -> Integer
106
134
 
107
- # Alias of Random::DEFAULT.rand.
135
+ # <!--
136
+ # rdoc-file=random.c
137
+ # - Random.rand -> float
138
+ # - Random.rand(max) -> number
139
+ # - Random.rand(range) -> number
140
+ # -->
141
+ # Returns a random number using the Ruby system PRNG.
142
+ #
143
+ # See also Random#rand.
108
144
  #
109
145
  def self.rand: () -> Float
110
146
  | (Integer | ::Range[Integer] max) -> Integer
111
147
  | (Float | ::Range[Float] max) -> Float
112
148
 
113
- # Seeds the system pseudo-random number generator, Random::DEFAULT, with
114
- # `number`. The previous seed value is returned.
149
+ # <!--
150
+ # rdoc-file=random.c
151
+ # - srand(number = Random.new_seed) -> old_seed
152
+ # -->
153
+ # Seeds the system pseudo-random number generator, with `number`. The previous
154
+ # seed value is returned.
115
155
  #
116
156
  # If `number` is omitted, seeds the generator using a source of entropy provided
117
157
  # by the operating system, if available (/dev/urandom on Unix systems or the RSA
@@ -131,16 +171,60 @@ class Random < Object
131
171
  def self.srand: (?Integer number) -> Integer
132
172
  end
133
173
 
134
- # The default Pseudorandom number generator. Used by class methods of Random.
135
- #
136
- #
137
174
  Random::DEFAULT: Random
138
175
 
139
- # Format raw random number as Random does
176
+ # <!-- rdoc-file=lib/random/formatter.rb -->
177
+ # ## Random number formatter.
178
+ #
179
+ # Formats generated random numbers in many manners.
180
+ #
181
+ # ### Examples
182
+ #
183
+ # Generate random hexadecimal strings:
184
+ #
185
+ # require 'random/formatter'
186
+ #
187
+ # prng.hex(10) #=> "52750b30ffbc7de3b362"
188
+ # prng.hex(10) #=> "92b15d6c8dc4beb5f559"
189
+ # prng.hex(13) #=> "39b290146bea6ce975c37cfc23"
190
+ #
191
+ # Generate random base64 strings:
192
+ #
193
+ # prng.base64(10) #=> "EcmTPZwWRAozdA=="
194
+ # prng.base64(10) #=> "KO1nIU+p9DKxGg=="
195
+ # prng.base64(12) #=> "7kJSM/MzBJI+75j8"
196
+ #
197
+ # Generate random binary strings:
198
+ #
199
+ # prng.random_bytes(10) #=> "\016\t{\370g\310pbr\301"
200
+ # prng.random_bytes(10) #=> "\323U\030TO\234\357\020\a\337"
140
201
  #
202
+ # Generate alphanumeric strings:
203
+ #
204
+ # prng.alphanumeric(10) #=> "S8baxMJnPl"
205
+ # prng.alphanumeric(10) #=> "aOxAg8BAJe"
206
+ #
207
+ # Generate UUIDs:
208
+ #
209
+ # prng.uuid #=> "2d931510-d99f-494a-8c67-87feb05e1594"
210
+ # prng.uuid #=> "bad85eb9-0713-4da7-8d36-07a8e4b00eab"
211
+ #
212
+ # <!-- rdoc-file=random.c -->
213
+ # Generate a random number in the given range as Random does
214
+ #
215
+ # prng.random_number #=> 0.5816771641321361
216
+ # prng.random_number(1000) #=> 485
217
+ # prng.random_number(1..6) #=> 3
218
+ # prng.rand #=> 0.5816771641321361
219
+ # prng.rand(1000) #=> 485
220
+ # prng.rand(1..6) #=> 3
141
221
  #
142
222
  module Random::Formatter
143
- # SecureRandom.base64 generates a random base64 string.
223
+ # <!--
224
+ # rdoc-file=lib/random/formatter.rb
225
+ # - base64(n=nil)
226
+ # -->
227
+ # Random::Formatter#base64 generates a random base64 string.
144
228
  #
145
229
  # The argument *n* specifies the length, in bytes, of the random number to be
146
230
  # generated. The length of the result string is about 4/3 of *n*.
@@ -150,19 +234,20 @@ module Random::Formatter
150
234
  #
151
235
  # The result may contain A-Z, a-z, 0-9, "+", "/" and "=".
152
236
  #
153
- # require 'securerandom'
154
- #
155
- # SecureRandom.base64 #=> "/2BuBuLf3+WfSKyQbRcc/A=="
156
- # SecureRandom.base64 #=> "6BbW0pxO0YENxn38HMUbcQ=="
237
+ # require 'random/formatter'
157
238
  #
158
- # If a secure random number generator is not available, `NotImplementedError` is
159
- # raised.
239
+ # prng.base64 #=> "/2BuBuLf3+WfSKyQbRcc/A=="
240
+ # prng.base64 #=> "6BbW0pxO0YENxn38HMUbcQ=="
160
241
  #
161
242
  # See RFC 3548 for the definition of base64.
162
243
  #
163
244
  def base64: (?Integer? n) -> String
164
245
 
165
- # SecureRandom.hex generates a random hexadecimal string.
246
+ # <!--
247
+ # rdoc-file=lib/random/formatter.rb
248
+ # - hex(n=nil)
249
+ # -->
250
+ # Random::Formatter#hex generates a random hexadecimal string.
166
251
  #
167
252
  # The argument *n* specifies the length, in bytes, of the random number to be
168
253
  # generated. The length of the resulting hexadecimal string is twice of *n*.
@@ -172,16 +257,14 @@ module Random::Formatter
172
257
  #
173
258
  # The result may contain 0-9 and a-f.
174
259
  #
175
- # require 'securerandom'
260
+ # require 'random/formatter'
176
261
  #
177
- # SecureRandom.hex #=> "eb693ec8252cd630102fd0d0fb7c3485"
178
- # SecureRandom.hex #=> "91dc3bfb4de5b11d029d376634589b61"
179
- #
180
- # If a secure random number generator is not available, `NotImplementedError` is
181
- # raised.
262
+ # prng.hex #=> "eb693ec8252cd630102fd0d0fb7c3485"
263
+ # prng.hex #=> "91dc3bfb4de5b11d029d376634589b61"
182
264
  #
183
265
  def hex: (?Integer? n) -> String
184
266
 
267
+ # <!-- rdoc-file=random.c -->
185
268
  # Generates formatted random number from raw random bytes. See Random#rand.
186
269
  #
187
270
  def rand: () -> Float
@@ -192,7 +275,11 @@ module Random::Formatter
192
275
  | (?::Range[Integer]? n) -> Integer
193
276
  | (?::Range[Numeric]? n) -> Numeric
194
277
 
195
- # SecureRandom.random_bytes generates a random binary string.
278
+ # <!--
279
+ # rdoc-file=lib/random/formatter.rb
280
+ # - random_bytes(n=nil)
281
+ # -->
282
+ # Random::Formatter#random_bytes generates a random binary string.
196
283
  #
197
284
  # The argument *n* specifies the length of the result string.
198
285
  #
@@ -200,16 +287,22 @@ module Random::Formatter
200
287
  #
201
288
  # The result may contain any byte: "x00" - "xff".
202
289
  #
203
- # require 'securerandom'
204
- #
205
- # SecureRandom.random_bytes #=> "\xD8\\\xE0\xF4\r\xB2\xFC*WM\xFF\x83\x18\xF45\xB6"
206
- # SecureRandom.random_bytes #=> "m\xDC\xFC/\a\x00Uf\xB2\xB2P\xBD\xFF6S\x97"
290
+ # require 'random/formatter'
207
291
  #
208
- # If a secure random number generator is not available, `NotImplementedError` is
209
- # raised.
292
+ # prng.random_bytes #=> "\xD8\\\xE0\xF4\r\xB2\xFC*WM\xFF\x83\x18\xF45\xB6"
293
+ # prng.random_bytes #=> "m\xDC\xFC/\a\x00Uf\xB2\xB2P\xBD\xFF6S\x97"
210
294
  #
211
295
  def random_bytes: (?Integer? n) -> String
212
296
 
297
+ # <!--
298
+ # rdoc-file=random.c
299
+ # - prng.random_number -> float
300
+ # - prng.random_number(max) -> number
301
+ # - prng.random_number(range) -> number
302
+ # - prng.rand -> float
303
+ # - prng.rand(max) -> number
304
+ # - prng.rand(range) -> number
305
+ # -->
213
306
  # Generates formatted random number from raw random bytes. See Random#rand.
214
307
  #
215
308
  def random_number: () -> Float
@@ -220,7 +313,11 @@ module Random::Formatter
220
313
  | (?::Range[Integer]? n) -> Integer
221
314
  | (?::Range[Numeric]? n) -> Numeric
222
315
 
223
- # SecureRandom.urlsafe_base64 generates a random URL-safe base64 string.
316
+ # <!--
317
+ # rdoc-file=lib/random/formatter.rb
318
+ # - urlsafe_base64(n=nil, padding=false)
319
+ # -->
320
+ # Random::Formatter#urlsafe_base64 generates a random URL-safe base64 string.
224
321
  #
225
322
  # The argument *n* specifies the length, in bytes, of the random number to be
226
323
  # generated. The length of the result string is about 4/3 of *n*.
@@ -235,28 +332,30 @@ module Random::Formatter
235
332
  # The result may contain A-Z, a-z, 0-9, "-" and "_". "=" is also used if
236
333
  # *padding* is true.
237
334
  #
238
- # require 'securerandom'
239
- #
240
- # SecureRandom.urlsafe_base64 #=> "b4GOKm4pOYU_-BOXcrUGDg"
241
- # SecureRandom.urlsafe_base64 #=> "UZLdOkzop70Ddx-IJR0ABg"
335
+ # require 'random/formatter'
242
336
  #
243
- # SecureRandom.urlsafe_base64(nil, true) #=> "i0XQ-7gglIsHGV2_BNPrdQ=="
244
- # SecureRandom.urlsafe_base64(nil, true) #=> "-M8rLhr7JEpJlqFGUMmOxg=="
337
+ # prng.urlsafe_base64 #=> "b4GOKm4pOYU_-BOXcrUGDg"
338
+ # prng.urlsafe_base64 #=> "UZLdOkzop70Ddx-IJR0ABg"
245
339
  #
246
- # If a secure random number generator is not available, `NotImplementedError` is
247
- # raised.
340
+ # prng.urlsafe_base64(nil, true) #=> "i0XQ-7gglIsHGV2_BNPrdQ=="
341
+ # prng.urlsafe_base64(nil, true) #=> "-M8rLhr7JEpJlqFGUMmOxg=="
248
342
  #
249
343
  # See RFC 3548 for the definition of URL-safe base64.
250
344
  #
251
345
  def urlsafe_base64: (?Integer? n, ?boolish padding) -> String
252
346
 
253
- # SecureRandom.uuid generates a random v4 UUID (Universally Unique IDentifier).
254
- #
255
- # require 'securerandom'
256
- #
257
- # SecureRandom.uuid #=> "2d931510-d99f-494a-8c67-87feb05e1594"
258
- # SecureRandom.uuid #=> "bad85eb9-0713-4da7-8d36-07a8e4b00eab"
259
- # SecureRandom.uuid #=> "62936e70-1815-439b-bf89-8492855a7e6b"
347
+ # <!--
348
+ # rdoc-file=lib/random/formatter.rb
349
+ # - uuid()
350
+ # -->
351
+ # Random::Formatter#uuid generates a random v4 UUID (Universally Unique
352
+ # IDentifier).
353
+ #
354
+ # require 'random/formatter'
355
+ #
356
+ # prng.uuid #=> "2d931510-d99f-494a-8c67-87feb05e1594"
357
+ # prng.uuid #=> "bad85eb9-0713-4da7-8d36-07a8e4b00eab"
358
+ # prng.uuid #=> "62936e70-1815-439b-bf89-8492855a7e6b"
260
359
  #
261
360
  # The version 4 UUID is purely random (except the version). It doesn't contain
262
361
  # meaningful information such as MAC addresses, timestamps, etc.