Actions
Misc #17309
openURI.escape being deprecated, yet there is no replacement
Status:
Open
Assignee:
-
Description
I'm on ruby 2.7.2 . The moment I do
uri = "http://bücher.ch"
URI.escape uri
(irb):5: warning: URI.escape
"http://b%C3%BCcher.ch"
I get that warning. Rubocop also tells me:
"""
URI.escape method is obsolete and should not be used. Instead, use CGI.escape, URI.encode_www_form or URI.encode_www_form_component depending on your specific use case.
"""
However, none of the suggestions does the same as URI.escape
.
CGI.escape uri
=> "http%3A%2F%2Fb%C3%BCcher.ch"
URI.encode_www_form_component uri
=> "http%3A%2F%2Fb%C3%BCcher.ch"
URI.encode_www_form uri
Traceback (most recent call last):
NoMethodError (undefined method `map' for "http://bücher.ch":String)
Did you mean? tap
So my question is: why is this being deprecated? And if there's still reason, what to exactly replace it for, so I can keep the exact same behaviour?
Actions
Like0
Like0Like0Like0Like0Like0Like0Like0