From: merch-redmine@... Date: 2021-07-23T19:15:36+00:00 Subject: [ruby-core:104667] [Ruby master Bug#13154] URI::Generic, == operator, normalize! Issue #13154 has been updated by jeremyevans0 (Jeremy Evans). Status changed from Open to Rejected I agree with @phluid61, plain path provided to `URI.parse` should not be treated as implicit `file` scheme. Such a change would break backwards compatibility for the methods mentioned, and I think `URI.parse('http://foo/bar').merge(URI.parse('/1/2/3'))` should result in `#` and not `#`. If you disagree, please submit an issue to https://github.com/ruby/uri/issues and @akira can decide if the behavior should be changed. ---------------------------------------- Bug #13154: URI::Generic, == operator, normalize! https://bugs.ruby-lang.org/issues/13154#change-92979 * Author: deman_killer (Dmitry Sk) * Status: Rejected * Priority: Normal * Backport: 2.6: UNKNOWN, 2.7: UNKNOWN, 3.0: UNKNOWN ---------------------------------------- This two URI means the same: ``` uri1 = URI::parse '/1/2/3' uri2 = URI::parse 'file:///1/2/3' ``` but `uri1 == uri2` return **false** it is cause of normalize! implementation that compare scheme this way: ``` if scheme && scheme != scheme.downcase set_scheme(self.scheme.downcase) end ``` But nil scheme actually equivalent to file -- https://bugs.ruby-lang.org/ Unsubscribe: