class Gem::RemoteFetcher + Gem::UserInteraction + Gem::DefaultUserInteraction
クラスの継承リスト: Gem::RemoteFetcher < Gem::UserInteraction < Gem::DefaultUserInteraction < Object < Kernel < BasicObject
要約
リモートソースから Gem パッケージや Gem パッケージの情報を取得するためのクラスです。
特異メソッド
fetcher -> Gem::RemoteFetcher
-
このクラスの唯一のインスタンスを返します。
ui -> Gem::ConsoleUI
-
デフォルトの UI を返します。
ui=(new_ui)
-
デフォルトの UI を新しくセットします。
デフォルトの UI を明確にセットしたことがなければ、シンプルなコンソールベースの Gem::UserInteraction を自動的に使用します。
- [PARAM] new_ui:
- 新しい UI を指定します。
use_ui(new_ui) { ... }
-
与えられたブロックを評価している間だけ UI として new_ui を使用します。
- [PARAM] new_ui:
- 新しい UI を指定します。
インスタンスメソッド
alert(*args) -> ()
-
INFO レベルのアラートを出力します。
- [PARAM] args:
- 委譲先のメソッドに与える引数です。
alert_error(*args) -> ()
-
ERROR レベルのアラートを出力します。
- [PARAM] args:
- 委譲先のメソッドに与える引数です。
alert_warning(*args) -> ()
-
WARNING レベルのアラートを出力します。
- [PARAM] args:
- 委譲先のメソッドに与える引数です。
ask(*args) -> String
-
質問をして、ユーザの入力を待ち受けて回答を返します。
- [PARAM] args:
- 委譲先のメソッドに与える引数です。
ask_yes_no(*args) -> bool
-
イエス、ノーで答える質問をします。
- [PARAM] args:
- 委譲先のメソッドに与える引数です。
- [RETURN]
- ユーザの回答がイエスの場合は真を、ノーの場合は偽を返します。
choose_from_list(*args) -> Array
-
リストから回答を選択する質問をします。
- [PARAM] args:
- 委譲先のメソッドに与える引数です。
- [RETURN]
- 選択肢の名称と選択肢のインデックスを要素とする配列を返します。
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 文字列をエンコードした文字列を返します。
- [PARAM] str:
- 文字列を指定します。
[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) -> StringIO | File
-
- [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::Head か Net::HTTP::Get を指定します。
- [PARAM] last_modified:
- 最終更新時刻を指定します。
[SEE_ALSO] Net::HTTP, Net::HTTP::Head, Net::HTTP::Get
reset(connection) -> Net::HTTP
-
与えられたコネクションをリセットします。
- [PARAM] connection:
- コネクションを指定します。
say(*args) -> ()
-
与えられた文字列を表示します。
- [PARAM] args:
- 委譲先のメソッドに与える引数です。
terminate_interaction(*args) -> ()
-
アプリケーションを終了します。
- [PARAM] args:
- 委譲先のメソッドに与える引数です。
ui -> Gem::ConsoleUI
-
デフォルトの UI を返します。
[SEE_ALSO] Gem::DefaultUserInteraction.ui
ui=(new_ui)
-
デフォルトの UI を新しくセットします。
- [PARAM] new_ui:
- 新しい UI を指定します。
[SEE_ALSO] Gem::DefaultUserInteraction.ui=
unescape(str) -> String
-
URI 文字列をデコードした文字列を返します。
- [PARAM] str:
- 文字列を指定します。
[SEE_ALSO] URI.unescape
use_ui(new_ui) { ... }
-
与えられたブロックを評価している間だけ UI として new_ui を使用します。
- [PARAM] new_ui:
- 新しい UI を指定します。
[SEE_ALSO] Gem::DefaultUserInteraction.use_ui