Gem の依存関係を扱うためのクラスです。
from_source_index(src_index) -> Gem::DependencyList
[permalink][rdoc]与えられた Gem::SourceIndex のインスタンスから自身を作成します。
[SEE_ALSO] Gem::SourceIndex
add(*gemspecs)
[permalink][rdoc]与えられた Gem::Specification のインスタンスを自身に追加します。
dependency_order -> [Gem::Specification]
[permalink][rdoc]依存する Gem の数が少ない順にソートされた Gem::Specification のリストを返します。
このことは、インストール済みの Gem を削除するときに便利です。このメソッドで返された順にインストール済みの Gem 削除すると、依存関係による多くの問題を回避することができます。
If there are circular dependencies (yuck!), then gems will be returned in order until only the circular dependents and anything they reference are left. Then arbitrary gemspecs will be returned until the circular dependency is broken, after which gems will be returned in dependency order again.
find_name(full_name) -> Gem::Specification | nil
[permalink][rdoc]自身に含まれる与えられた名前を持つ Gem::Specification のインスタンスを返します。
見つからなかった場合は nil を返します。
[SEE_ALSO] Gem::Specification#full_name
ok? -> bool
[permalink][rdoc]自身に含まれる全ての Gem::Specification が依存関係を満たしていれば真を返します。そうでない場合は、偽を返します。
ok_to_remove?(full_name) -> bool
[permalink][rdoc]与えられた名前を持つ Gem::Specification を自身から削除しても OK な場合は真を返します。そうでない場合は、偽を返します。
与えられた名前を持つ Gem::Specification を自身から削除すると、依存関係を壊してしまう場合が、それを削除してはいけない場合です。
[SEE_ALSO] Gem::Specification#full_name
remove_by_name(full_name) -> Gem::Specification
[permalink][rdoc]与えられた名前を持つ Gem::Specification を自身から削除します。
このメソッドでは削除後の依存関係をチェックしません。
[SEE_ALSO] Gem::Specification#full_name, Array#delete_if
spec_predecessors -> Hash
[permalink][rdoc][TODO] ???
Return a hash of predecessors. <tt>result[spec]</tt> is an Array of gemspecs that have a dependency satisfied by the named spec.