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

class Gem::RemoteFetcher

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

Abstract

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

特異メソッド

fetcher -> Gem::RemoteFetcher

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

インスタンスメソッド

connection_for(uri) -> Net::HTTP

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

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

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

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

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

[SEE_ALSO] URI.#escape

fetch_path(uri, mtime = nil, head = false) -> String | Hash

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

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

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

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

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

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

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

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

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

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

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

  • http_proxy
  • http_proxy_user
  • http_proxy_pass
  • HTTP_PROXY
  • HTTP_PROXY_USER
  • HTTP_PROXY_PASS
normalize_uri(uri) -> String

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

[PARAM] uri:
URI 文字列を指定します。
open_uri_or_path(uri, last_modified = nil, head = false, depth = 0)
[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

与えられた 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

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

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

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

[SEE_ALSO] URI.#unescape

追加されるメソッド

fetcher=(fetcher) [added by rubygems/test_utilities]

テスト用のメソッドです。

Methods

Classes