回答:
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
はありませんストリーミングあなたはそれの最初の4Kを読み取ることができないので、ファイルを。開いた瞬間にファイル全体をメモリにopen-uri
読み込みます。
URI.parse('http://www.stackoverflow.com').open { |f| f.read }
あなたがそれを保証する方法を探しているなら、それは呼ばれませんKernal.open
。rubocopセキュリティルールも回避します。