Ruby 3.0.0 リファレンスマニュアル > ライブラリ一覧 > open-uriライブラリ > URIモジュール > open
open(name, mode = 'r', perm = nil, options = {}) -> StringIO | Tempfile | IO
[permalink][rdoc] [added by open-uri]
open(name, mode = 'r', perm = nil, options = {}) {|ouri| ...} -> object
[added by open-uri]
name が http:// や https://、ftp:// で始まっている文字列なら URI のリソースを取得した上で StringIO オブジェクトまたは Tempfile オブジェクトとして返します。返されるオブジェクトは OpenURI::Meta モジュールで extend されています。
name に open メソッドが定義されている場合は、*rest を引数として渡し name.open(*rest, &block) のように name の open メソッドが呼ばれます。
これ以外の場合は、name はファイル名として扱われ、従来の Kernel.#open(name, *rest) が呼ばれます。
ブロックを与えた場合は上の場合と同様、name が http:// や https://、ftp:// で始まっている文字列なら URI のリソースを取得した上で StringIO オブジェクトまたは Tempfile オブジェクトを引数としてブロックを評価します。後は同様です。引数のオブジェクトは OpenURI::Meta モジュールで extend されています。
[SEE_ALSO] Kernel.#open, OpenURI.open_uri