Відповіді:
open-uri є частиною стандартної бібліотеки Ruby, і вона перегляне поведінку, open
щоб ви могли відкрити URL-адресу, а також локальний файл. Він повертає File
об'єкт, тому ви повинні мати можливість викликати такі методи, як read
і 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
не передаватиметься потоково , тому ви не можете прочитати перші 4 к. open-uri
прочитає цілий файл в пам'ять у момент відкриття.
URI.parse('http://www.stackoverflow.com').open { |f| f.read }
Якщо ви шукаєте спосіб страхувати, це не вимагає Kernal.open
. Також обходить правила безпеки rubocop.