Antworten:
open-uri ist Teil der Standard-Ruby-Bibliothek und definiert das Verhalten neu, open
sodass Sie sowohl eine URL als auch eine lokale Datei öffnen können. Es gibt ein File
Objekt zurück, daher sollten Sie in der Lage sein, Methoden wie read
und aufzurufen readlines
.
require 'open-uri'
file_contents = open('local-file.txt') { |f| f.read }
web_contents = open('http://www.stackoverflow.com') {|f| f.read }
content = open("http://example.com").read
open-uri
nicht gestreamt wird, sodass Sie die ersten 4 KB nicht lesen können. open-uri
liest beim Öffnen eine ganze Datei in den Speicher.
URI.parse('http://www.stackoverflow.com').open { |f| f.read }
Wenn Sie nach einer Möglichkeit suchen, sich zu versichern, ruft es nicht an Kernal.open
. Kommt auch um Rubocop-Sicherheitsregeln herum.