Issue #8544 has been updated by Vlad Bokov.


I think the difference in #relative? #absolute? behaviour also points that absolute URI with "file://" should be "open"-able
`> URI.parse('file:///root').absolute?
=> false
> URI.parse('/root').absolute?
=> true`

----------------------------------------
Feature #8544: OpenURI should open 'file://' URIs
https://bugs.ruby-lang.org/issues/8544#change-55497

* Author: Silas Davis
* Status: Open
* Priority: Normal
* Assignee: 
----------------------------------------
The following code prints the contents of '/tmp/file.txt':

require 'open-uri'
open('/tmp/file.txt').read {|f| puts f.read }

which although useful should probably fail since a unix file path is not a URI, and therefore might shield data problems in a system

However the following should produce the same output and is a URI, but fails:

open('file:///tmp/file.txt').read {|f| puts f.read }

I note that the documentation for open-uri does explain that it is a wrapper for http, https, and ftp, but to deserve its name it should open such URIs as specified in this RFC: http://tools.ietf.org/html/rfc1630. This coupled with the fact that it already does open files, but not by a URI specification.




-- 
https://bugs.ruby-lang.org/