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.
Files changed (281) hide show
  1. checksums.yaml +4 -4
  2. data/.github/dependabot.yml +14 -14
  3. data/.github/workflows/bundle-update.yml +60 -0
  4. data/.github/workflows/c-check.yml +18 -11
  5. data/.github/workflows/comments.yml +5 -3
  6. data/.github/workflows/dependabot.yml +2 -2
  7. data/.github/workflows/ruby.yml +27 -34
  8. data/.github/workflows/rust.yml +95 -0
  9. data/.github/workflows/typecheck.yml +2 -2
  10. data/.github/workflows/windows.yml +2 -2
  11. data/.rubocop.yml +1 -1
  12. data/CHANGELOG.md +323 -0
  13. data/README.md +1 -1
  14. data/Rakefile +43 -33
  15. data/Steepfile +1 -0
  16. data/config.yml +426 -24
  17. data/core/array.rbs +307 -227
  18. data/core/basic_object.rbs +9 -8
  19. data/core/binding.rbs +0 -2
  20. data/core/builtin.rbs +2 -2
  21. data/core/class.rbs +6 -5
  22. data/core/comparable.rbs +55 -34
  23. data/core/complex.rbs +104 -78
  24. data/core/dir.rbs +61 -49
  25. data/core/encoding.rbs +12 -15
  26. data/core/enumerable.rbs +179 -87
  27. data/core/enumerator/arithmetic_sequence.rbs +70 -0
  28. data/core/enumerator.rbs +65 -2
  29. data/core/errno.rbs +11 -2
  30. data/core/errors.rbs +58 -29
  31. data/core/exception.rbs +13 -13
  32. data/core/fiber.rbs +74 -54
  33. data/core/file.rbs +280 -177
  34. data/core/file_test.rbs +3 -3
  35. data/core/float.rbs +257 -92
  36. data/core/gc.rbs +425 -281
  37. data/core/hash.rbs +1045 -739
  38. data/core/integer.rbs +135 -137
  39. data/core/io/buffer.rbs +53 -42
  40. data/core/io/wait.rbs +13 -35
  41. data/core/io.rbs +192 -144
  42. data/core/kernel.rbs +216 -155
  43. data/core/marshal.rbs +4 -4
  44. data/core/match_data.rbs +15 -13
  45. data/core/math.rbs +107 -66
  46. data/core/method.rbs +69 -33
  47. data/core/module.rbs +244 -106
  48. data/core/nil_class.rbs +7 -6
  49. data/core/numeric.rbs +74 -63
  50. data/core/object.rbs +9 -11
  51. data/core/object_space.rbs +30 -23
  52. data/core/pathname.rbs +1322 -0
  53. data/core/proc.rbs +95 -58
  54. data/core/process.rbs +222 -202
  55. data/core/ractor.rbs +371 -515
  56. data/core/random.rbs +21 -3
  57. data/core/range.rbs +159 -57
  58. data/core/rational.rbs +60 -89
  59. data/core/rbs/unnamed/argf.rbs +60 -53
  60. data/core/rbs/unnamed/env_class.rbs +19 -14
  61. data/core/rbs/unnamed/main_class.rbs +123 -0
  62. data/core/rbs/unnamed/random.rbs +11 -118
  63. data/core/regexp.rbs +258 -214
  64. data/core/ruby.rbs +53 -0
  65. data/core/ruby_vm.rbs +38 -34
  66. data/core/rubygems/config_file.rbs +5 -5
  67. data/core/rubygems/errors.rbs +4 -71
  68. data/core/rubygems/requirement.rbs +5 -5
  69. data/core/rubygems/rubygems.rbs +16 -82
  70. data/core/rubygems/version.rbs +2 -3
  71. data/core/set.rbs +490 -360
  72. data/core/signal.rbs +26 -16
  73. data/core/string.rbs +3234 -1285
  74. data/core/struct.rbs +27 -26
  75. data/core/symbol.rbs +41 -34
  76. data/core/thread.rbs +135 -67
  77. data/core/time.rbs +81 -50
  78. data/core/trace_point.rbs +41 -35
  79. data/core/true_class.rbs +2 -2
  80. data/core/unbound_method.rbs +24 -16
  81. data/core/warning.rbs +7 -7
  82. data/docs/aliases.md +79 -0
  83. data/docs/collection.md +3 -3
  84. data/docs/config.md +171 -0
  85. data/docs/encoding.md +56 -0
  86. data/docs/gem.md +0 -1
  87. data/docs/inline.md +576 -0
  88. data/docs/sigs.md +3 -3
  89. data/docs/syntax.md +46 -16
  90. data/docs/type_fingerprint.md +21 -0
  91. data/exe/rbs +1 -1
  92. data/ext/rbs_extension/ast_translation.c +544 -116
  93. data/ext/rbs_extension/ast_translation.h +3 -0
  94. data/ext/rbs_extension/class_constants.c +16 -2
  95. data/ext/rbs_extension/class_constants.h +8 -0
  96. data/ext/rbs_extension/extconf.rb +5 -1
  97. data/ext/rbs_extension/legacy_location.c +33 -56
  98. data/ext/rbs_extension/legacy_location.h +37 -0
  99. data/ext/rbs_extension/main.c +44 -35
  100. data/include/rbs/ast.h +448 -173
  101. data/include/rbs/defines.h +27 -0
  102. data/include/rbs/lexer.h +30 -11
  103. data/include/rbs/location.h +25 -44
  104. data/include/rbs/parser.h +6 -6
  105. data/include/rbs/string.h +0 -2
  106. data/include/rbs/util/rbs_allocator.h +34 -13
  107. data/include/rbs/util/rbs_assert.h +12 -1
  108. data/include/rbs/util/rbs_constant_pool.h +0 -3
  109. data/include/rbs/util/rbs_encoding.h +2 -0
  110. data/include/rbs/util/rbs_unescape.h +2 -1
  111. data/include/rbs.h +8 -0
  112. data/lib/rbs/ast/annotation.rb +1 -1
  113. data/lib/rbs/ast/comment.rb +1 -1
  114. data/lib/rbs/ast/declarations.rb +10 -10
  115. data/lib/rbs/ast/members.rb +14 -14
  116. data/lib/rbs/ast/ruby/annotations.rb +293 -3
  117. data/lib/rbs/ast/ruby/comment_block.rb +24 -0
  118. data/lib/rbs/ast/ruby/declarations.rb +198 -3
  119. data/lib/rbs/ast/ruby/helpers/constant_helper.rb +4 -0
  120. data/lib/rbs/ast/ruby/members.rb +532 -22
  121. data/lib/rbs/ast/type_param.rb +24 -4
  122. data/lib/rbs/buffer.rb +20 -15
  123. data/lib/rbs/cli/diff.rb +16 -15
  124. data/lib/rbs/cli/validate.rb +38 -106
  125. data/lib/rbs/cli.rb +52 -19
  126. data/lib/rbs/collection/config/lockfile_generator.rb +14 -2
  127. data/lib/rbs/collection/sources/git.rb +1 -0
  128. data/lib/rbs/definition.rb +1 -1
  129. data/lib/rbs/definition_builder/ancestor_builder.rb +62 -9
  130. data/lib/rbs/definition_builder/method_builder.rb +20 -0
  131. data/lib/rbs/definition_builder.rb +147 -25
  132. data/lib/rbs/diff.rb +7 -1
  133. data/lib/rbs/environment.rb +227 -74
  134. data/lib/rbs/environment_loader.rb +0 -6
  135. data/lib/rbs/errors.rb +27 -18
  136. data/lib/rbs/inline_parser.rb +342 -6
  137. data/lib/rbs/location_aux.rb +1 -1
  138. data/lib/rbs/locator.rb +5 -1
  139. data/lib/rbs/method_type.rb +5 -3
  140. data/lib/rbs/parser_aux.rb +20 -7
  141. data/lib/rbs/prototype/helpers.rb +57 -0
  142. data/lib/rbs/prototype/rb.rb +3 -28
  143. data/lib/rbs/prototype/rbi.rb +3 -20
  144. data/lib/rbs/prototype/runtime.rb +8 -0
  145. data/lib/rbs/resolver/constant_resolver.rb +2 -2
  146. data/lib/rbs/resolver/type_name_resolver.rb +116 -38
  147. data/lib/rbs/subtractor.rb +3 -1
  148. data/lib/rbs/test/type_check.rb +19 -2
  149. data/lib/rbs/type_name.rb +1 -1
  150. data/lib/rbs/types.rb +88 -78
  151. data/lib/rbs/unit_test/type_assertions.rb +35 -8
  152. data/lib/rbs/validator.rb +2 -2
  153. data/lib/rbs/version.rb +1 -1
  154. data/lib/rbs.rb +1 -2
  155. data/lib/rdoc/discover.rb +1 -1
  156. data/lib/rdoc_plugin/parser.rb +1 -1
  157. data/rbs.gemspec +4 -3
  158. data/rust/.gitignore +1 -0
  159. data/rust/Cargo.lock +378 -0
  160. data/rust/Cargo.toml +7 -0
  161. data/rust/ruby-rbs/Cargo.toml +22 -0
  162. data/rust/ruby-rbs/build.rs +764 -0
  163. data/rust/ruby-rbs/examples/locations.rs +60 -0
  164. data/rust/ruby-rbs/src/lib.rs +1 -0
  165. data/rust/ruby-rbs/src/node/mod.rs +742 -0
  166. data/rust/ruby-rbs/tests/sanity.rs +47 -0
  167. data/rust/ruby-rbs/vendor/rbs/config.yml +1 -0
  168. data/rust/ruby-rbs-sys/Cargo.toml +23 -0
  169. data/rust/ruby-rbs-sys/build.rs +204 -0
  170. data/rust/ruby-rbs-sys/src/lib.rs +50 -0
  171. data/rust/ruby-rbs-sys/vendor/rbs/include +1 -0
  172. data/rust/ruby-rbs-sys/vendor/rbs/src +1 -0
  173. data/rust/ruby-rbs-sys/wrapper.h +1 -0
  174. data/schema/typeParam.json +17 -1
  175. data/sig/ast/ruby/annotations.rbs +315 -4
  176. data/sig/ast/ruby/comment_block.rbs +8 -0
  177. data/sig/ast/ruby/declarations.rbs +102 -4
  178. data/sig/ast/ruby/members.rbs +108 -2
  179. data/sig/cli/diff.rbs +5 -11
  180. data/sig/cli/validate.rbs +12 -8
  181. data/sig/cli.rbs +18 -18
  182. data/sig/definition.rbs +6 -1
  183. data/sig/definition_builder.rbs +2 -0
  184. data/sig/environment.rbs +70 -12
  185. data/sig/errors.rbs +13 -14
  186. data/sig/inline_parser.rbs +39 -2
  187. data/sig/locator.rbs +0 -2
  188. data/sig/manifest.yaml +0 -1
  189. data/sig/method_builder.rbs +3 -1
  190. data/sig/parser.rbs +31 -13
  191. data/sig/prototype/helpers.rbs +2 -0
  192. data/sig/resolver/type_name_resolver.rbs +35 -7
  193. data/sig/source.rbs +3 -3
  194. data/sig/type_param.rbs +13 -8
  195. data/sig/types.rbs +6 -7
  196. data/sig/unit_test/spy.rbs +0 -8
  197. data/sig/unit_test/type_assertions.rbs +11 -0
  198. data/src/ast.c +410 -153
  199. data/src/lexer.c +1392 -1313
  200. data/src/lexer.re +3 -0
  201. data/src/lexstate.c +58 -37
  202. data/src/location.c +8 -48
  203. data/src/parser.c +977 -516
  204. data/src/string.c +0 -48
  205. data/src/util/rbs_allocator.c +89 -71
  206. data/src/util/rbs_assert.c +1 -1
  207. data/src/util/rbs_buffer.c +2 -2
  208. data/src/util/rbs_constant_pool.c +10 -14
  209. data/src/util/rbs_encoding.c +4 -8
  210. data/src/util/rbs_unescape.c +56 -20
  211. data/stdlib/bigdecimal/0/big_decimal.rbs +116 -98
  212. data/stdlib/bigdecimal-math/0/big_math.rbs +169 -8
  213. data/stdlib/cgi/0/core.rbs +9 -393
  214. data/stdlib/cgi/0/manifest.yaml +1 -0
  215. data/stdlib/cgi-escape/0/escape.rbs +171 -0
  216. data/stdlib/coverage/0/coverage.rbs +7 -4
  217. data/stdlib/date/0/date.rbs +92 -79
  218. data/stdlib/date/0/date_time.rbs +25 -24
  219. data/stdlib/delegate/0/delegator.rbs +10 -7
  220. data/stdlib/did_you_mean/0/did_you_mean.rbs +17 -16
  221. data/stdlib/digest/0/digest.rbs +110 -0
  222. data/stdlib/erb/0/erb.rbs +748 -347
  223. data/stdlib/etc/0/etc.rbs +55 -50
  224. data/stdlib/fileutils/0/fileutils.rbs +158 -139
  225. data/stdlib/forwardable/0/forwardable.rbs +13 -10
  226. data/stdlib/io-console/0/io-console.rbs +2 -2
  227. data/stdlib/json/0/json.rbs +217 -136
  228. data/stdlib/monitor/0/monitor.rbs +3 -3
  229. data/stdlib/net-http/0/net-http.rbs +162 -134
  230. data/stdlib/objspace/0/objspace.rbs +17 -34
  231. data/stdlib/open-uri/0/open-uri.rbs +48 -8
  232. data/stdlib/open3/0/open3.rbs +469 -10
  233. data/stdlib/openssl/0/openssl.rbs +475 -357
  234. data/stdlib/optparse/0/optparse.rbs +26 -17
  235. data/stdlib/pathname/0/pathname.rbs +11 -1381
  236. data/stdlib/pp/0/pp.rbs +9 -8
  237. data/stdlib/prettyprint/0/prettyprint.rbs +7 -7
  238. data/stdlib/pstore/0/pstore.rbs +35 -30
  239. data/stdlib/psych/0/psych.rbs +65 -12
  240. data/stdlib/psych/0/store.rbs +2 -4
  241. data/stdlib/pty/0/pty.rbs +9 -6
  242. data/stdlib/random-formatter/0/random-formatter.rbs +277 -0
  243. data/stdlib/rdoc/0/code_object.rbs +2 -1
  244. data/stdlib/rdoc/0/parser.rbs +1 -1
  245. data/stdlib/rdoc/0/rdoc.rbs +1 -1
  246. data/stdlib/rdoc/0/store.rbs +1 -1
  247. data/stdlib/resolv/0/resolv.rbs +25 -68
  248. data/stdlib/ripper/0/ripper.rbs +22 -19
  249. data/stdlib/securerandom/0/manifest.yaml +2 -0
  250. data/stdlib/securerandom/0/securerandom.rbs +7 -20
  251. data/stdlib/shellwords/0/shellwords.rbs +2 -2
  252. data/stdlib/singleton/0/singleton.rbs +3 -0
  253. data/stdlib/socket/0/addrinfo.rbs +7 -7
  254. data/stdlib/socket/0/basic_socket.rbs +3 -3
  255. data/stdlib/socket/0/ip_socket.rbs +10 -8
  256. data/stdlib/socket/0/socket.rbs +23 -10
  257. data/stdlib/socket/0/tcp_server.rbs +1 -1
  258. data/stdlib/socket/0/tcp_socket.rbs +11 -3
  259. data/stdlib/socket/0/udp_socket.rbs +1 -1
  260. data/stdlib/socket/0/unix_server.rbs +1 -1
  261. data/stdlib/stringio/0/stringio.rbs +1177 -85
  262. data/stdlib/strscan/0/string_scanner.rbs +27 -25
  263. data/stdlib/tempfile/0/tempfile.rbs +25 -21
  264. data/stdlib/time/0/time.rbs +8 -6
  265. data/stdlib/timeout/0/timeout.rbs +63 -7
  266. data/stdlib/tsort/0/cyclic.rbs +3 -0
  267. data/stdlib/tsort/0/tsort.rbs +7 -6
  268. data/stdlib/uri/0/common.rbs +42 -20
  269. data/stdlib/uri/0/file.rbs +3 -3
  270. data/stdlib/uri/0/generic.rbs +26 -18
  271. data/stdlib/uri/0/http.rbs +2 -2
  272. data/stdlib/uri/0/ldap.rbs +2 -2
  273. data/stdlib/uri/0/mailto.rbs +3 -3
  274. data/stdlib/uri/0/rfc2396_parser.rbs +12 -12
  275. data/stdlib/zlib/0/deflate.rbs +4 -3
  276. data/stdlib/zlib/0/gzip_reader.rbs +6 -6
  277. data/stdlib/zlib/0/gzip_writer.rbs +14 -12
  278. data/stdlib/zlib/0/inflate.rbs +1 -1
  279. data/stdlib/zlib/0/need_dict.rbs +1 -1
  280. data/stdlib/zlib/0/zstream.rbs +1 -0
  281. metadata +50 -6
@@ -2,7 +2,7 @@
2
2
  # The objspace library extends the ObjectSpace module and adds several methods
3
3
  # to get internal statistic information about object/memory management.
4
4
  #
5
- # You need to `require 'objspace'` to use this extension module.
5
+ # You need to <code>require 'objspace'</code> to use this extension module.
6
6
  #
7
7
  # Generally, you **SHOULD** **NOT** use this library if you do not know about
8
8
  # the MRI implementation. Mainly, this library is for (memory) profiler
@@ -126,29 +126,6 @@ module ObjectSpace
126
126
  #
127
127
  def self?.count_imemo_objects: (?Hash[Symbol, Integer] result_hash) -> Hash[Symbol, Integer]
128
128
 
129
- # <!--
130
- # rdoc-file=ext/objspace/objspace.c
131
- # - ObjectSpace.count_nodes([result_hash]) -> hash
132
- # -->
133
- # Counts nodes for each node type.
134
- #
135
- # This method is only for MRI developers interested in performance and memory
136
- # usage of Ruby programs.
137
- #
138
- # It returns a hash as:
139
- #
140
- # {:NODE_METHOD=>2027, :NODE_FBODY=>1927, :NODE_CFUNC=>1798, ...}
141
- #
142
- # If the optional argument, result_hash, is given, it is overwritten and
143
- # returned. This is intended to avoid probe effect.
144
- #
145
- # Note: The contents of the returned hash is implementation defined. It may be
146
- # changed in future.
147
- #
148
- # This method is only expected to work with C Ruby.
149
- #
150
- def self?.count_nodes: (?Hash[Symbol, Integer] result_hash) -> Hash[Symbol, Integer]
151
-
152
129
  # <!--
153
130
  # rdoc-file=ext/objspace/objspace.c
154
131
  # - ObjectSpace.count_objects_size([result_hash]) -> hash
@@ -237,12 +214,13 @@ module ObjectSpace
237
214
  # -->
238
215
  # Dump the contents of a ruby object as JSON.
239
216
  #
240
- # *output* can be one of: `:stdout`, `:file`, `:string`, or IO object.
217
+ # *output* can be one of: <code>:stdout</code>, <code>:file</code>,
218
+ # <code>:string</code>, or IO object.
241
219
  #
242
- # * `:file` means dumping to a tempfile and returning corresponding File
243
- # object;
244
- # * `:stdout` means printing the dump and returning `nil`;
245
- # * `:string` means returning a string with the dump;
220
+ # * <code>:file</code> means dumping to a tempfile and returning corresponding
221
+ # File object;
222
+ # * <code>:stdout</code> means printing the dump and returning `nil`;
223
+ # * <code>:string</code> means returning a string with the dump;
246
224
  # * if an instance of IO object is provided, the output goes there, and the
247
225
  # object is returned.
248
226
  #
@@ -277,7 +255,7 @@ module ObjectSpace
277
255
  #
278
256
  # If *shapes* is a positive integer, only shapes newer than the provided shape
279
257
  # id are dumped. The current shape_id can be accessed using
280
- # `RubyVM.stat(:next_shape_id)`.
258
+ # <code>RubyVM.stat(:next_shape_id)</code>.
281
259
  #
282
260
  # If *shapes* is `false`, no shapes are dumped.
283
261
  #
@@ -332,9 +310,11 @@ module ObjectSpace
332
310
  # information as only a **HINT**. Especially, the size of `T_DATA` may not be
333
311
  # correct.
334
312
  #
335
- # This method is only expected to work with C Ruby.
313
+ # This method is only expected to work with CRuby.
336
314
  #
337
- # From Ruby 2.2, memsize_of(obj) returns a memory size includes sizeof(RVALUE).
315
+ # From Ruby 3.2 with Variable Width Allocation, it returns the actual slot size
316
+ # used plus any additional memory allocated outside the slot (such as external
317
+ # strings, arrays, or hash tables).
338
318
  #
339
319
  def self?.memsize_of: (untyped) -> Integer
340
320
 
@@ -409,7 +389,7 @@ module ObjectSpace
409
389
  # ObjectSpace.reachable_objects_from(1)
410
390
  # #=> nil # 1 is not markable (heap managed) object
411
391
  #
412
- def self?.reachable_objects_from: (untyped) -> ([ untyped ] | nil)
392
+ def self?.reachable_objects_from: (untyped) -> (Array[untyped] | nil)
413
393
 
414
394
  # <!--
415
395
  # rdoc-file=ext/objspace/objspace.c
@@ -461,8 +441,11 @@ module ObjectSpace
461
441
 
462
442
  # <!--
463
443
  # rdoc-file=ext/objspace/object_tracing.c
464
- # - trace_object_allocations_debug_start()
444
+ # - trace_object_allocations_debug_start
465
445
  # -->
446
+ # Starts tracing object allocations for GC debugging. If you encounter the BUG
447
+ # "... is T_NONE" (and so on) on your application, please try this method at the
448
+ # beginning of your app.
466
449
  #
467
450
  def self?.trace_object_allocations_debug_start: () -> void
468
451
 
@@ -9,9 +9,9 @@ module URI
9
9
  # If the first argument responds to the 'open' method, 'open' is called on it
10
10
  # with the rest of the arguments.
11
11
  #
12
- # If the first argument is a string that begins with `(protocol)://`, it is
13
- # parsed by URI.parse. If the parsed object responds to the 'open' method,
14
- # 'open' is called on it with the rest of the arguments.
12
+ # If the first argument is a string that begins with <code>(protocol)://</code>,
13
+ # it is parsed by URI.parse. If the parsed object responds to the 'open'
14
+ # method, 'open' is called on it with the rest of the arguments.
15
15
  #
16
16
  # Otherwise, Kernel#open is called.
17
17
  #
@@ -83,6 +83,46 @@ end
83
83
  # : Tanaka Akira <akr@m17n.org>
84
84
  #
85
85
  module OpenURI
86
+ # <!-- rdoc-file=lib/open-uri.rb -->
87
+ # Raised on HTTP session failure
88
+ #
89
+ class HTTPError < StandardError
90
+ # <!--
91
+ # rdoc-file=lib/open-uri.rb
92
+ # - new(message, io)
93
+ # -->
94
+ #
95
+ def initialize: (String message, (StringIO & OpenURI::Meta) io) -> void
96
+
97
+ # <!-- rdoc-file=lib/open-uri.rb -->
98
+ # StringIO having the received data
99
+ #
100
+ attr_reader io: StringIO & OpenURI::Meta
101
+ end
102
+
103
+ # <!-- rdoc-file=lib/open-uri.rb -->
104
+ # Raised on redirection, only occurs when `redirect` option for HTTP is `false`.
105
+ #
106
+ class HTTPRedirect < HTTPError
107
+ # <!--
108
+ # rdoc-file=lib/open-uri.rb
109
+ # - new(message, io, uri)
110
+ # -->
111
+ #
112
+ def initialize: (String message, (StringIO & OpenURI::Meta) io, URI uri) -> void
113
+
114
+ # <!-- rdoc-file=lib/open-uri.rb -->
115
+ # URI to redirect
116
+ #
117
+ attr_reader uri: URI
118
+ end
119
+
120
+ # <!-- rdoc-file=lib/open-uri.rb -->
121
+ # Raised on too many redirection,
122
+ #
123
+ class TooManyRedirects < HTTPError
124
+ end
125
+
86
126
  # <!-- rdoc-file=lib/open-uri.rb -->
87
127
  # Mixin for holding meta-information.
88
128
  #
@@ -309,17 +349,17 @@ module OpenURI
309
349
  # : Synopsis:
310
350
  # :ftp_active_mode=>bool
311
351
  #
312
- # `:ftp_active_mode => true` is used to make ftp active mode. Ruby 1.9 uses
313
- # passive mode by default. Note that the active mode is default in Ruby 1.8
314
- # or prior.
352
+ # <code>:ftp_active_mode => true</code> is used to make ftp active mode.
353
+ # Ruby 1.9 uses passive mode by default. Note that the active mode is
354
+ # default in Ruby 1.8 or prior.
315
355
  #
316
356
  #
317
357
  # :redirect
318
358
  # : Synopsis:
319
359
  # :redirect=>bool
320
360
  #
321
- # `:redirect` is true by default. `:redirect => false` is used to disable
322
- # all HTTP redirects.
361
+ # <code>:redirect</code> is true by default. <code>:redirect =>
362
+ # false</code> is used to disable all HTTP redirects.
323
363
  #
324
364
  # OpenURI::HTTPRedirect exception raised on redirection. Using `true` also
325
365
  # means that redirections between http and ftp are permitted.