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

class Gem::SourceIndex

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

Abstract

個々のソースから取得した全ての有効な Gem パッケージをインデックス化するためのクラスです。

Gem パッケージのフルネームと それぞれの Gem::Specification オブジェクトを対応付けます。

特異メソッド

from_gems_in(*spec_dirs) -> Gem::SourceIndex

引数で与えられたディレクトリに置かれている Ruby スクリプト形式の gemspec ファイルを使用して 新しいインスタンスを作成します。

[PARAM] spec_dirs:
gemspec ファイルが置かれているディレクトリを一つ以上指定します。
from_installed_gems(*deprecated) -> Gem::SourceIndex

与えられたパスをもとに、インスタンスを作成するファクトリメソッドです。

[PARAM] deprecated:
この引数は非推奨です。後方互換性のためにのみ提供されているので使用すべきではありません。

[SEE_ALSO] Gem::SourceIndex.from_gems_in

installed_spec_directories -> [String]

gemspec ファイルがインストールされているディレクトリのリストを返します。

[SEE_ALSO] Gem.#path

load_specification(file_name) -> Gem::Specification | nil

与えられたファイル名から Ruby スクリプト形式の gemspec をロードして Gem::Specification のインスタンスを返します。

[PARAM] file_name:
ファイル名を指定します。
[EXCEPTION] SignalException:
gemspec をロードしているときに発生します。
[EXCEPTION] SystemExit:
gemspec をロードしているときに発生します。
new(specifications = {}) -> Gem::SourceIndex

与えられたハッシュを元に自身を初期化します。

[PARAM] specifications:
キーを Gem の名前、値を Gem::Specification のインスタンスとするハッシュを指定します。

インスタンスメソッド

add_spec(gem_spec) -> Gem::Specification

自身に引数で与えられた Gem::Specification のインスタンスを追加します。

[PARAM] gem_spec:
Gem::Specification のインスタンスを指定します。
add_specs(*gem_specs) -> Hash

自身に引数で与えられた Gem::Specification のインスタンスを全て追加します。

[PARAM] gem_specs:
複数の Gem::Specification のインスタンスを指定します。
dump -> ()

自身を Marshal.#dump します。

each {|full_name, gem| ... } -> Hash
each -> Enumerable::Enumerator

自身に登録されているそれぞれの Gem についてブロックを評価します。

find_name(gem_name, version_requirement = Gem::Requirement.default) -> Gem::Specification

短い名前で正確にマッチする Gem を返します。

[PARAM] gem_name:
Gem の名前を指定します。
[PARAM] version_requirement:

[SEE_ALSO] Gem::Requirement

gem_signature(gem_full_name) -> String

与えられた名前を持つ Gem の SHA256 ダイジェストを返します。

index_signature -> String

ソースインデックスの SHA256 ダイジェストを返します。

この値はインデックスが変更されると変化します。

latest_specs -> Array

自身に含まれる最新の Gem::Specification のリストを返します。

size -> Integer
length -> Integer

自身に含まれる Gem の個数を返します。

load_gems_in(*spec_dirs) -> self

引数で与えられたディレクトリに含まれる gemspec から自身を再構築して返します。

[PARAM] spec_dirs:
gemspec の含まれているディレクトリを複数指定します。
outdated -> Array

更新されていない Gem::Specification のリストを返します。

refresh! -> self

自身を再作成します。

[EXCEPTION] StandardError:
自身がディスクから読み込んで作成されていない場合に発生します。
remove_spec(full_name) -> Gem::Specification

引数で指定された名前を持つ Gem をインデックスから削除します。

search(gem_pattern, platform_only = false) -> [Gem::Specification]

引数で指定された条件を満たす Gem のリストを返します。

[PARAM] gem_pattern:
検索したい Gem を表す Gem::Dependency のインスタンスを指定します。
[PARAM] platform_only:
真を指定するとプラットフォームが一致するもののみを返します。デフォルトは偽です。
size -> Integer

自身のサイズを返します。

spec_dirs -> [String]

Gem::SourceIndex#reflesh! で自身を更新する時に使用するディレクトリを取得します。

spec_dirs=(dirs)

Gem::SourceIndex#reflesh! で自身を更新する時に使用するディレクトリを設定します。

specification(full_name) -> Gem::Specification | nil

指定された名前の Gem::Specification オブジェクトを返します。

[PARAM] full_name:
Gem のフルネームを指定します。
update(source_uri, all) -> boolean

第一引数で指定された URI を使用して自身を更新します。

[PARAM] source_uri:
更新に使用する URI を指定します。文字列か URI::Generic のサブクラスを指定します。
[PARAM] all:
偽を指定すると最新バージョンの Gem のみ取得します。真を指定すると全てのバージョンの Gem を取得します。

Methods

Classes