Ruby 2.0.0 リファレンスマニュアル > ライブラリ一覧 > rubygems/remote_fetcherライブラリ > Gem::RemoteFetcherクラス

class Gem::RemoteFetcher

クラスの継承リスト: Gem::RemoteFetcher < Gem::UserInteraction < Gem::DefaultUserInteraction < Object < Kernel < BasicObject

要約

リモートソースから Gem パッケージや Gem パッケージの情報を取得するためのクラスです。

目次

特異メソッド
fetcher
インスタンスメソッド
connection_for download escape fetch_path fetch_size file_uri? get_file_uri_path get_proxy_from_env normalize_uri open_uri_or_path request reset unescape

特異メソッド

fetcher -> Gem::RemoteFetcher[permalink][rdoc]

このクラスの唯一のインスタンスを返します。

インスタンスメソッド

connection_for(uri) -> Net::HTTP[permalink][rdoc]

HTTP コネクションを生成して返します。

既に接続している URI であれば、生成済みのコネクションを返します。 また、必要があればプロキシを使用します。

[PARAM] uri:
接続先の URI を指定します。
download(spec, source_uri, install_dir = Gem.dir) -> String[permalink][rdoc]

source_uri から取得した Gem パッケージをキャッシュディレクトリに配置します。

既に Gem パッケージが存在する場合は、ファイルを置き換えませんが source_uri が ローカルパス (file://) である場合は常にファイルを置き換えます。

[PARAM] spec:
Gem::Specification のインスタンスを指定します。
[PARAM] source_uri:
取得先の URI を指定します。
[PARAM] install_dir:
ダウンロードしたファイルの配置先を指定します。
[RETURN]
ローカルにコピーした Gem ファイルのパスを返します。
[EXCEPTION] Gem::RemoteFetcher::FetchError:
escape(str) -> String[permalink][rdoc]

URI 文字列をエンコードした文字列を返します。

[PARAM] str:
文字列を指定します。

[SEE_ALSO] URI.escape

fetch_path(uri, mtime = nil, head = false) -> String | Hash[permalink][rdoc]

与えられた URI からダウンロードしたデータを文字列として返します。

ヘッダ情報のみ取得した場合はハッシュを返します。

[PARAM] uri:
データ取得先の URI を指定します。
[PARAM] mtime:
更新時刻を指定します。
[PARAM] head:
真を指定するとヘッダ情報のみ取得します。
fetch_size(uri) -> Integer[permalink][rdoc]

与えられた URI からダウンロードするデータのサイズを返します。

[PARAM] uri:
データ取得先の URI を指定します。
file_uri?(uri) -> bool[permalink][rdoc]

"file://" で始まる文字列である場合は真を返します。そうでない場合は偽を返します。

[PARAM] uri:
URI を表す文字列を指定します。
get_file_uri_path(uri) -> String[permalink][rdoc]

与えられた URI から "file://" を取り除いた文字列を返します。

[PARAM] uri:
URI を表す文字列を指定します。
get_proxy_from_env -> URI | nil[permalink][rdoc]

環境変数にセットされている HTTP proxy の情報を取得して返します。

ここでチェックしている環境変数は以下の通りです。

normalize_uri(uri) -> String[permalink][rdoc]

URI のスキーム部分が欠けている場合に "http://" を補って返します。

[PARAM] uri:
URI 文字列を指定します。
open_uri_or_path(uri, last_modified = nil, head = false, depth = 0) -> StringIO | File[permalink][rdoc]
[PARAM] uri:
URI を指定します。
[PARAM] last_modified:
最終更新時刻を指定します。
[PARAM] head:
真を指定するとヘッダ情報のみ取得します。
[PARAM] depth:
現在のリダイレクト回数を指定します。
[EXCEPTION] Gem::RemoteFetcher::FetchError:
デフォルトでは 11 回リダイレクトした場合に発生します。 depth を指定すると 10 - depth 回より多くリダイレクトした場合にこの例外が発生するようになります。 また HTTP のレスポンスが想定外のものの場合にも発生します。
request(uri, request_class, last_modified = nil) -> Net::HTTPResponse[permalink][rdoc]

与えられた URI に対してリクエストを実行し、Net::HTTPResponse を返します。

[PARAM] uri:
URI を指定します。
[PARAM] request_class:
Net::HTTP::HeadNet::HTTP::Get を指定します。
[PARAM] last_modified:
最終更新時刻を指定します。

[SEE_ALSO] Net::HTTP, Net::HTTP::Head, Net::HTTP::Get

reset(connection) -> Net::HTTP[permalink][rdoc]

与えられたコネクションをリセットします。

[PARAM] connection:
コネクションを指定します。
unescape(str) -> String[permalink][rdoc]

URI 文字列をデコードした文字列を返します。

[PARAM] str:
文字列を指定します。

[SEE_ALSO] URI.unescape