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

class Gem::SourceIndex

クラス・モジュールの継承リスト: Gem::SourceIndex < Enumerable < Gem::UserInteraction < Gem::DefaultUserInteraction < Object < Kernel < BasicObject
extend: Gem::UserInteraction
aliases: Gem::Cache

要約

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

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

特異メソッド

定義 説明
from_gems_in(*spec_dirs) -> Gem::SourceIndex

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

from_installed_gems(*deprecated) -> Gem::SourceIndex

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

installed_spec_directories -> [String]

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

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

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

new(specifications = {}) -> Gem::SourceIndex

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

インスタンスメソッド

定義 説明
add_spec(gem_spec) -> Gem::Specification

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

add_specs(*gem_specs) -> Hash

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

dump -> ()

自身を Marshal.#dump します。

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

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

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

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

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 から自身を再構築して返します。

outdated -> Array

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

refresh! -> self

自身を再作成します。

remove_spec(full_name) -> Gem::Specification

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

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

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

size -> Integer

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

spec_dirs -> [String]

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

spec_dirs=(dirs)

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

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

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

update(source_uri, all) -> bool

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

継承したメソッド

! != __id__ __send__ instance_eval instance_exec method_missing singleton_method_added singleton_method_removed singleton_method_undefined all? any? chunk chunk_while collect collect_concat count cycle detect drop drop_while each_cons each_entry each_slice each_with_index each_with_object entries find_all find_index first grep grep_v group_by include? inject lazy max max_by min min_by minmax minmax_by none? one? partition reject reverse_each slice_after slice_before slice_when sort sort_by sum take take_while to_h to_set uniq zip alert alert_error alert_warning ask ask_yes_no choose_from_list say terminate_interaction !~ <=> == === =~ _dump class clone define_singleton_method display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? itself marshal_dump marshal_load method methods nil? object_id pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods psych_to_yaml public_method public_methods public_send remove_instance_variable respond_to? respond_to_missing? send singleton_class singleton_method singleton_methods taint tainted? tap to_ary to_hash to_int to_io to_proc to_regexp to_s to_str trust untaint untrust untrusted? .yaml_tag ::ARGF ::ARGV ::DATA ::ENV ::FALSE ::NIL ::RUBY_COPYRIGHT ::RUBY_DESCRIPTION ::RUBY_ENGINE ::RUBY_ENGINE_VERSION ::RUBY_PATCHLEVEL ::RUBY_PLATFORM ::RUBY_RELEASE_DATE ::RUBY_REVISION ::RUBY_VERSION ::SCRIPT_LINES__ ::STDERR ::STDIN ::STDOUT ::TOPLEVEL_BINDING ::TRUE