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
data/stdlib/nkf/0/nkf.rbs
CHANGED
@@ -71,9 +71,11 @@
|
|
71
71
|
# -h1 --hiragana
|
72
72
|
# : Katakana to Hiragana conversion.
|
73
73
|
#
|
74
|
+
#
|
74
75
|
# -h2 --katakana
|
75
76
|
# : Hiragana to Katakana conversion.
|
76
77
|
#
|
78
|
+
#
|
77
79
|
# -h3 --katakana-hiragana
|
78
80
|
# : Katakana to Hiragana and Hiragana to Katakana conversion.
|
79
81
|
#
|
@@ -102,12 +104,15 @@
|
|
102
104
|
# -Z -Z0
|
103
105
|
# : Convert X0208 alphabet to ASCII.
|
104
106
|
#
|
107
|
+
#
|
105
108
|
# -Z1
|
106
109
|
# : Converts X0208 kankaku to single ASCII space.
|
107
110
|
#
|
111
|
+
#
|
108
112
|
# -Z2
|
109
113
|
# : Converts X0208 kankaku to double ASCII spaces.
|
110
114
|
#
|
115
|
+
#
|
111
116
|
# -Z3
|
112
117
|
# : Replacing Fullwidth >, <, ", & into '>', '<', '"', '&' as
|
113
118
|
# in HTML.
|
@@ -128,6 +133,7 @@
|
|
128
133
|
# -B1
|
129
134
|
# : allows any char after ESC-( or ESC-$.
|
130
135
|
#
|
136
|
+
#
|
131
137
|
# -B2
|
132
138
|
# : forces ASCII after NL.
|
133
139
|
#
|
@@ -154,6 +160,7 @@
|
|
154
160
|
# -mQ
|
155
161
|
# : Decode MIME quoted stream. '_' in quoted stream is converted to space.
|
156
162
|
#
|
163
|
+
#
|
157
164
|
# -mN
|
158
165
|
# : Non-strict decoding.
|
159
166
|
#
|
@@ -172,6 +179,7 @@
|
|
172
179
|
# -MB
|
173
180
|
# : MIME encode Base64 stream.
|
174
181
|
#
|
182
|
+
#
|
175
183
|
# -MQ
|
176
184
|
# : Perform quoted encoding.
|
177
185
|
#
|
@@ -188,9 +196,11 @@
|
|
188
196
|
# -Lu
|
189
197
|
# : unix (LF)
|
190
198
|
#
|
199
|
+
#
|
191
200
|
# -Lw
|
192
201
|
# : windows (CRLF)
|
193
202
|
#
|
203
|
+
#
|
194
204
|
# -Lm
|
195
205
|
# : mac (CR)
|
196
206
|
#
|
@@ -215,63 +225,83 @@
|
|
215
225
|
# ISO-2022-JP
|
216
226
|
# : a.k.a. RFC1468, 7bit JIS, JUNET
|
217
227
|
#
|
228
|
+
#
|
218
229
|
# EUC-JP (eucJP-nkf)
|
219
230
|
# : a.k.a. AT&T JIS, Japanese EUC, UJIS
|
220
231
|
#
|
232
|
+
#
|
221
233
|
# eucJP-ascii
|
222
234
|
# : a.k.a. x-eucjp-open-19970715-ascii
|
223
235
|
#
|
236
|
+
#
|
224
237
|
# eucJP-ms
|
225
238
|
# : a.k.a. x-eucjp-open-19970715-ms
|
226
239
|
#
|
240
|
+
#
|
227
241
|
# CP51932
|
228
242
|
# : Microsoft Version of EUC-JP.
|
229
243
|
#
|
244
|
+
#
|
230
245
|
# Shift_JIS
|
231
246
|
# : SJIS, MS-Kanji
|
232
247
|
#
|
248
|
+
#
|
233
249
|
# Windows-31J
|
234
250
|
# : a.k.a. CP932
|
235
251
|
#
|
252
|
+
#
|
236
253
|
# UTF-8
|
237
254
|
# : same as UTF-8N
|
238
255
|
#
|
256
|
+
#
|
239
257
|
# UTF-8N
|
240
258
|
# : UTF-8 without BOM
|
241
259
|
#
|
260
|
+
#
|
242
261
|
# UTF-8-BOM
|
243
262
|
# : UTF-8 with BOM
|
244
263
|
#
|
264
|
+
#
|
245
265
|
# UTF-16
|
246
266
|
# : same as UTF-16BE
|
247
267
|
#
|
268
|
+
#
|
248
269
|
# UTF-16BE
|
249
270
|
# : UTF-16 Big Endian without BOM
|
250
271
|
#
|
272
|
+
#
|
251
273
|
# UTF-16BE-BOM
|
252
274
|
# : UTF-16 Big Endian with BOM
|
253
275
|
#
|
276
|
+
#
|
254
277
|
# UTF-16LE
|
255
278
|
# : UTF-16 Little Endian without BOM
|
256
279
|
#
|
280
|
+
#
|
257
281
|
# UTF-16LE-BOM
|
258
282
|
# : UTF-16 Little Endian with BOM
|
259
283
|
#
|
284
|
+
#
|
260
285
|
# UTF-32
|
261
286
|
# : same as UTF-32BE
|
262
287
|
#
|
288
|
+
#
|
263
289
|
# UTF-32BE
|
264
290
|
# : UTF-32 Big Endian without BOM
|
265
291
|
#
|
292
|
+
#
|
266
293
|
# UTF-32BE-BOM
|
267
294
|
# : UTF-32 Big Endian with BOM
|
268
295
|
#
|
296
|
+
#
|
269
297
|
# UTF-32LE
|
270
298
|
# : UTF-32 Little Endian without BOM
|
271
299
|
#
|
300
|
+
#
|
272
301
|
# UTF-32LE-BOM
|
273
302
|
# : UTF-32 Little Endian with BOM
|
274
303
|
#
|
304
|
+
#
|
275
305
|
# UTF8-MAC
|
276
306
|
# : NKDed UTF-8, a.k.a. UTF8-NFD (input only)
|
277
307
|
#
|
@@ -246,7 +246,6 @@ module ObjectSpace
|
|
246
246
|
# * if an instance of IO object is provided, the output goes there, and the
|
247
247
|
# object is returned.
|
248
248
|
#
|
249
|
-
#
|
250
249
|
# This method is only expected to work with C Ruby. This is an experimental
|
251
250
|
# method and is subject to change. In particular, the function signature and
|
252
251
|
# output format are not guaranteed to be compatible in future versions of ruby.
|
@@ -395,7 +394,7 @@ module ObjectSpace
|
|
395
394
|
#
|
396
395
|
# With this method, you can find memory leaks.
|
397
396
|
#
|
398
|
-
# This method is only expected to work
|
397
|
+
# This method is only expected to work with C Ruby.
|
399
398
|
#
|
400
399
|
# Example:
|
401
400
|
# ObjectSpace.reachable_objects_from(['a', 'b', 'c'])
|
@@ -12,7 +12,6 @@
|
|
12
12
|
# * assert that it has `#changed`
|
13
13
|
# * call `#notify_observers`
|
14
14
|
#
|
15
|
-
#
|
16
15
|
# An observer subscribes to updates using Observable#add_observer, which also
|
17
16
|
# specifies the method called via #notify_observers. The default method for
|
18
17
|
# #notify_observers is #update.
|
@@ -139,6 +138,7 @@ module Observable
|
|
139
138
|
#
|
140
139
|
# `observer`
|
141
140
|
# : the object that will be notified of changes.
|
141
|
+
#
|
142
142
|
# `func`
|
143
143
|
# : Symbol naming the method that will be called when this Observable has
|
144
144
|
# changes.
|
@@ -186,6 +186,7 @@ module OpenURI
|
|
186
186
|
# When false or nil is given, the environment variables are ignored and
|
187
187
|
# connection will be made to a server directly.
|
188
188
|
#
|
189
|
+
#
|
189
190
|
# :proxy_http_basic_authentication
|
190
191
|
# : Synopsis:
|
191
192
|
# :proxy_http_basic_authentication =>
|
@@ -204,6 +205,7 @@ module OpenURI
|
|
204
205
|
# If :proxy and :proxy_http_basic_authentication is specified, ArgumentError
|
205
206
|
# is raised.
|
206
207
|
#
|
208
|
+
#
|
207
209
|
# :http_basic_authentication
|
208
210
|
# : Synopsis:
|
209
211
|
# :http_basic_authentication=>[user, password]
|
@@ -212,6 +214,7 @@ module OpenURI
|
|
212
214
|
# which contains 2 strings: username and password. It is used for HTTP Basic
|
213
215
|
# authentication defined by RFC 2617.
|
214
216
|
#
|
217
|
+
#
|
215
218
|
# :content_length_proc
|
216
219
|
# : Synopsis:
|
217
220
|
# :content_length_proc => lambda {|content_length| ... }
|
@@ -226,6 +229,7 @@ module OpenURI
|
|
226
229
|
# When expected content length is unknown, the procedure is called with nil.
|
227
230
|
# This happens when the HTTP response has no Content-Length header.
|
228
231
|
#
|
232
|
+
#
|
229
233
|
# :progress_proc
|
230
234
|
# : Synopsis:
|
231
235
|
# :progress_proc => lambda {|size| ...}
|
@@ -253,6 +257,7 @@ module OpenURI
|
|
253
257
|
# pbar.set s if pbar
|
254
258
|
# }) {|f| ... }
|
255
259
|
#
|
260
|
+
#
|
256
261
|
# :read_timeout
|
257
262
|
# : Synopsis:
|
258
263
|
# :read_timeout=>nil (no timeout)
|
@@ -260,6 +265,7 @@ module OpenURI
|
|
260
265
|
#
|
261
266
|
# :read_timeout option specifies a timeout of read for http connections.
|
262
267
|
#
|
268
|
+
#
|
263
269
|
# :open_timeout
|
264
270
|
# : Synopsis:
|
265
271
|
# :open_timeout=>nil (no timeout)
|
@@ -267,6 +273,7 @@ module OpenURI
|
|
267
273
|
#
|
268
274
|
# :open_timeout option specifies a timeout of open for http connections.
|
269
275
|
#
|
276
|
+
#
|
270
277
|
# :ssl_ca_cert
|
271
278
|
# : Synopsis:
|
272
279
|
# :ssl_ca_cert=>filename or an Array of filenames
|
@@ -274,12 +281,14 @@ module OpenURI
|
|
274
281
|
# :ssl_ca_cert is used to specify CA certificate for SSL. If it is given,
|
275
282
|
# default certificates are not used.
|
276
283
|
#
|
284
|
+
#
|
277
285
|
# :ssl_verify_mode
|
278
286
|
# : Synopsis:
|
279
287
|
# :ssl_verify_mode=>mode
|
280
288
|
#
|
281
289
|
# :ssl_verify_mode is used to specify openssl verify mode.
|
282
290
|
#
|
291
|
+
#
|
283
292
|
# :ssl_min_version
|
284
293
|
# : Synopsis:
|
285
294
|
# :ssl_min_version=>:TLS1_2
|
@@ -287,6 +296,7 @@ module OpenURI
|
|
287
296
|
# :ssl_min_version option specifies the minimum allowed SSL/TLS protocol
|
288
297
|
# version. See also OpenSSL::SSL::SSLContext#min_version=.
|
289
298
|
#
|
299
|
+
#
|
290
300
|
# :ssl_max_version
|
291
301
|
# : Synopsis:
|
292
302
|
# :ssl_max_version=>:TLS1_2
|
@@ -294,6 +304,7 @@ module OpenURI
|
|
294
304
|
# :ssl_max_version option specifies the maximum allowed SSL/TLS protocol
|
295
305
|
# version. See also OpenSSL::SSL::SSLContext#max_version=.
|
296
306
|
#
|
307
|
+
#
|
297
308
|
# :ftp_active_mode
|
298
309
|
# : Synopsis:
|
299
310
|
# :ftp_active_mode=>bool
|
@@ -302,6 +313,7 @@ module OpenURI
|
|
302
313
|
# passive mode by default. Note that the active mode is default in Ruby 1.8
|
303
314
|
# or prior.
|
304
315
|
#
|
316
|
+
#
|
305
317
|
# :redirect
|
306
318
|
# : Synopsis:
|
307
319
|
# :redirect=>bool
|
@@ -312,6 +324,46 @@ module OpenURI
|
|
312
324
|
# OpenURI::HTTPRedirect exception raised on redirection. Using `true` also
|
313
325
|
# means that redirections between http and ftp are permitted.
|
314
326
|
#
|
327
|
+
#
|
328
|
+
# :max_redirects
|
329
|
+
# : Synopsis:
|
330
|
+
# :max_redirects=>int
|
331
|
+
#
|
332
|
+
# Number of HTTP redirects allowed before OpenURI::TooManyRedirects is
|
333
|
+
# raised. The default is 64.
|
334
|
+
#
|
335
|
+
#
|
336
|
+
# :request_specific_fields
|
337
|
+
# : Synopsis:
|
338
|
+
# :request_specific_fields => {}
|
339
|
+
# :request_specific_fields => lambda {|url| ...}
|
340
|
+
#
|
341
|
+
# :request_specific_fields option allows specifying custom header fields
|
342
|
+
# that are sent with the HTTP request. It can be passed as a Hash or a Proc
|
343
|
+
# that gets evaluated on each request and returns a Hash of header fields.
|
344
|
+
#
|
345
|
+
# If a Hash is provided, it specifies the headers only for the initial
|
346
|
+
# request and these headers will not be sent on redirects.
|
347
|
+
#
|
348
|
+
# If a Proc is provided, it will be executed for each request including
|
349
|
+
# redirects, allowing dynamic header customization based on the request URL.
|
350
|
+
# It is important that the Proc returns a Hash. And this Hash specifies the
|
351
|
+
# headers to be sent with the request.
|
352
|
+
#
|
353
|
+
# For Example with Hash
|
354
|
+
# URI.open("http://...",
|
355
|
+
# request_specific_fields: {"Authorization" => "token dummy"}) {|f| ... }
|
356
|
+
#
|
357
|
+
# For Example with Proc:
|
358
|
+
# URI.open("http://...",
|
359
|
+
# request_specific_fields: lambda { |uri|
|
360
|
+
# if uri.host == "example.com"
|
361
|
+
# {"Authorization" => "token dummy"}
|
362
|
+
# else
|
363
|
+
# {}
|
364
|
+
# end
|
365
|
+
# }) {|f| ... }
|
366
|
+
#
|
315
367
|
def open: (*untyped) -> IO
|
316
368
|
| [T] (*untyped) { (IO) -> T } -> T
|
317
369
|
|
data/stdlib/open3/0/open3.rbs
CHANGED
@@ -17,7 +17,6 @@
|
|
17
17
|
# * Open3.capture3: Executes the command; returns strings from $stdout and
|
18
18
|
# $stderr.
|
19
19
|
#
|
20
|
-
#
|
21
20
|
# * Each of these methods executes a single command in a process or subshell,
|
22
21
|
# and returns pipes for $stdin, $stdout, and/or $stderr:
|
23
22
|
#
|
@@ -28,7 +27,6 @@
|
|
28
27
|
# * Open3.popen3: Executes the command; returns pipes for $stdin, $stdout,
|
29
28
|
# and $stderr.
|
30
29
|
#
|
31
|
-
#
|
32
30
|
# * Each of these methods executes one or more commands in processes and/or
|
33
31
|
# subshells, returns pipes for the first $stdin, the last $stdout, or both:
|
34
32
|
#
|
@@ -39,8 +37,6 @@
|
|
39
37
|
# * Open3.pipeline_start: Does not wait for processes to complete.
|
40
38
|
# * Open3.pipeline: Waits for processes to complete.
|
41
39
|
#
|
42
|
-
#
|
43
|
-
#
|
44
40
|
# Each of the methods above accepts:
|
45
41
|
#
|
46
42
|
# * An optional hash of environment variable names and values; see [Execution
|
@@ -66,7 +62,6 @@ module Open3
|
|
66
62
|
# * Returns as `status` a `Process::Status` object that represents the exit
|
67
63
|
# status of the child process.
|
68
64
|
#
|
69
|
-
#
|
70
65
|
# Returns the array `[stdout_and_stderr_s, status]`:
|
71
66
|
#
|
72
67
|
# stdout_and_stderr_s, status = Open3.capture2e('echo "Foo"')
|
@@ -99,14 +94,12 @@ module Open3
|
|
99
94
|
# * If entry `options[:binmode]` exists, the entry is removed and the internal
|
100
95
|
# streams are set to binary mode.
|
101
96
|
#
|
102
|
-
#
|
103
97
|
# The single required argument is one of the following:
|
104
98
|
#
|
105
99
|
# * `command_line` if it is a string, and if it begins with a shell reserved
|
106
100
|
# word or special built-in, or if it contains one or more metacharacters.
|
107
101
|
# * `exe_path` otherwise.
|
108
102
|
#
|
109
|
-
#
|
110
103
|
# **Argument `command_line`**
|
111
104
|
#
|
112
105
|
# String argument `command_line` is a command line to be passed to a shell; it
|
@@ -133,7 +126,6 @@ module Open3
|
|
133
126
|
# * A 2-element array containing the path to an executable and the string to
|
134
127
|
# be used as the name of the executing process.
|
135
128
|
#
|
136
|
-
#
|
137
129
|
# Example:
|
138
130
|
#
|
139
131
|
# Open3.capture2e('/usr/bin/date')
|