On December 12, 2015 at 09:30:03 MST, bokov.vlad@gmail.com wrote:
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/