open(name, mode = 'r', perm = nil, options = {}) -> StringIO | Tempfile | IO
[permalink][rdoc][edit] [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 されています。
- [PARAM] name:
- オープンしたいリソースを文字列で与えます。
- [PARAM] mode:
- モードを文字列で与えます。Kernel.#open と同じです。
- [PARAM] perm:
- open(2) の第 3 引数のように、ファイルを生成する場合のファイルのパーミッションを整数で指定します。Kernel.#open と同じです
- [PARAM] options:
- ハッシュを与えます。詳しくは OpenURI.open_uri を参照してください。
- [EXCEPTION] OpenURI::HTTPError:
- 対象となる URI のスキームが http であり、かつリソースの取得に失敗した時に発生します。
- [EXCEPTION] Net::FTPError:
- 対象となる URI のスキームが ftp であり、かつリソースの取得に失敗した時に Net::FTPError のサブクラスが発生します。詳しくは net/ftp を参照して下さい。
[SEE_ALSO] Kernel.#open, OpenURI.open_uri