From: "duerst (Martin Dürst)" Date: 2013-06-21T19:04:46+09:00 Subject: [ruby-core:55579] [ruby-trunk - Feature #8544] OpenURI should open 'file://' URIs Issue #8544 has been updated by duerst (Martin D��rst). phluid61 (Matthew Kerwin) wrote: > Perhaps this can get some traction: http://tools.ietf.org/html/draft-kerwin-file-scheme-01 It would be great if it did. Just for your reference, others have tried before you. Please check out http://tools.ietf.org/html/draft-yevstifeyev-ftp-uri-scheme-08, http://tools.ietf.org/html/draft-hoffman-ftp-uri-04, and http://tools.ietf.org/html/draft-hoffman-ftp-uri-04. The file: scheme is simple in theory, but very complicated in practice! Also, in your original post, you write: > 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 Of course this should NOT fail. 'open-uri' does not change open to open URIs and only URIs, it *adds* the capability to open URIs on top of the capability to open files. ---------------------------------------- Feature #8544: OpenURI should open 'file://' URIs https://bugs.ruby-lang.org/issues/8544#change-40072 Author: silasdavis (Silas Davis) Status: Open Priority: Normal Assignee: Category: core Target version: Next Major 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. -- http://bugs.ruby-lang.org/