module OpenURI::OpenRead

要約

URI::HTTPURI::FTP を拡張するために用意されたモジュールです。

目次

インスタンスメソッド

インスタンスメソッド

open(mode = 'r', perm = nil, options = {}) -> StringIO[permalink][rdoc]
open(mode = 'r', perm = nil, options = {}) {|sio| ... } -> nil

自身が表すリソースを取得して StringIO オブジェクトとして返します。 OpenURI.open_uri(self, *rest, &block) と同じです。

ブロックを与えた場合は StringIO オブジェクトを引数としてブロックを評価します。ブロックの終了時に StringIO は close されます。nil を返します。

返り値である StringIO オブジェクトは OpenURI::Meta モジュールで extend されています。

[PARAM] mode:
モードを文字列で与えます。Kernel.#open と同じです。
[PARAM] perm:
無視されます。
[PARAM] options:
ハッシュを与えます。
[EXCEPTION] OpenURI::HTTPError:
対象となる URI のスキームが http であり、かつリソースの取得に失敗した時に発生します。
[EXCEPTION] Net::FTPError:
対象となる URI のスキームが ftp であり、かつリソースの取得に失敗した時に Net::FTPError のサブクラスが発生します。詳しくは net/ftp を参照して下さい。

[SEE_ALSO] OpenURI.open_uri

read(options = {}) -> String[permalink][rdoc]

自身が表す内容を読み込んで文字列として返します。 self.open(options={}) {|io| io.read } と同じです。このメソッドによって返される文字列は OpenURI::Meta によって extend されています。

[PARAM] options:
ハッシュを与えます。
require 'open-uri'
uri = URI.parse('http://www.example.com/')
str = uri.read
p str.is_a?(OpenURI::Meta) # => true
p str.content_type