class Gem::SourceInfoCache

[edit]

要約

個々の Gem パッケージのインデックス情報のコピーを保存するためのクラスです。

キャッシュの保存場所として以下の二つが存在します。

システムキャッシュ

ファイルに対する書き込み権限や作成権限がある場合はこちらを使用します。

ユーザーキャッシュ

システムキャッシュが使用できない場合に使用します。

使用するキャッシュを選択すると、全ての操作で選択されたキャッシュを使用します。また、このクラスは動的にキャッシュの種類を切り替えません。

キャッシュデータはキーが取得元の URI で値が Gem::SourceInfoCacheEntry のインスタンスであるハッシュです。

目次

特異メソッド
インスタンスメソッド

継承しているメソッド

Gem::UserInteractionから継承しているメソッド
Gem::DefaultUserInteractionから継承しているメソッド

特異メソッド

cache(all = false) -> Gem::SourceInfoCache[permalink][rdoc][edit]

自身のインスタンスを生成するためのメソッドです。

[PARAM] all:
真を指定すると、インスタンス生成時に全てのキャッシュを再作成します。
cache_data -> Hash[permalink][rdoc][edit]

キャッシュしているデータを返します。

latest_system_cache_file -> String[permalink][rdoc][edit]

最新のシステムキャッシュのファイル名を返します。

latest_user_cache_file -> String[permalink][rdoc][edit]

最新のユーザーキャッシュのファイル名を返します。

reset -> nil[permalink][rdoc][edit]

自身の内容をクリアします。

与えられた条件を満たす Gem::Specification のリストを返します。

[PARAM] args:
検索条件を指定します。Gem::SourceInfoCache#search と引数を合わせてください。

[SEE_ALSO] Gem::SourceInfoCache#search

search_with_source(*args) -> Array[permalink][rdoc][edit]

与えられた条件を満たす Gem::Specification と URL のリストを返します。

[PARAM] args:
検索条件を指定します。Gem::SourceInfoCache#search_with_source と引数を合わせてください。

[SEE_ALSO] Gem::SourceInfoCache#search_with_source

system_cache_file -> String[permalink][rdoc][edit]

システムキャッシュのファイル名を返します。

user_cache_file -> String[permalink][rdoc][edit]

ユーザーキャッシュのファイル名を返します。

インスタンスメソッド

cache_data -> Hash[permalink][rdoc][edit]

最新のキャッシュデータを返します。

cache_file -> String[permalink][rdoc][edit]

使用可能なキャッシュファイル名を返します。

システムキャッシュが使用可能な場合はシステムキャッシュのファイル名を返します。そうでない場合はユーザーキャッシュのファイル名を返します。

flush -> false[permalink][rdoc][edit]

キャッシュをローカルファイルに書き込みます。

latest_cache_data -> Hash[permalink][rdoc][edit]

最新のキャッシュデータを返します。

latest_cache_file -> String[permalink][rdoc][edit]

使用可能な最新のキャッシュファイル名を返します。

システムキャッシュが使用可能な場合はシステムキャッシュのファイル名を返します。そうでない場合はユーザーキャッシュのファイル名を返します。

[SEE_ALSO] Gem::SourceInfoCache#cache_file

latest_system_cache_file -> String[permalink][rdoc][edit]

最新のシステムキャッシュのファイル名を返します。

latest_user_cache_file -> String[permalink][rdoc][edit]

最新のユーザーキャッシュのファイル名を返します。

read_all_cache_data -> ()[permalink][rdoc][edit]

自身に完全なキャッシュファイルの内容をマージします。

read_cache_data(file) -> Hash[permalink][rdoc][edit]

与えられたファイル名からデータを読み込んでキャッシュデータを返します。

[PARAM] file:
キャッシュのファイル名を指定します。
[RETURN]
内部で例外が発生した場合は、空のハッシュを返します。
refresh(all) -> false[permalink][rdoc][edit]

取得元ごとにキャッシュデータを更新します。

[PARAM] all:
真を指定すると全てのキャッシュを更新します。そうでない場合は、最新の Gem パッケージの情報のみ更新します。
reset_cache_data -> true[permalink][rdoc][edit]

キャッシュデータをリセットします。

reset_cache_file -> nil[permalink][rdoc][edit]

強制的にキャッシュファイル名をリセットします。

RubyGems ライブラリの結合テストをするのに便利です。

reset_cache_for(url, cache_data) -> Hash[permalink][rdoc][edit]

指定された URL に対応するキャッシュデータを更新します。

[PARAM] url:
取得元 URL を指定します。
[PARAM] cache_data:
キャッシュデータを指定します。 

与えられた条件を満たす Gem::Specification のリストを返します。

[PARAM] pattern:
検索したい Gem を表す Gem::Dependency のインスタンスを指定します。
[PARAM] platform_only:
真を指定するとプラットフォームが一致するもののみを返します。デフォルトは偽です。
[PARAM] all:
真を指定するとキャッシュを更新してから検索を実行します。

[SEE_ALSO] Gem::SourceIndex#search

search_with_source(pattern, only_platform = false, all = false) -> Array[permalink][rdoc][edit]

与えられた条件を満たす Gem::Specification と URL のリストを返します。

[PARAM] pattern:
検索したい Gem を表す Gem::Dependency のインスタンスを指定します。
[PARAM] only_platform:
真を指定するとプラットフォームが一致するもののみを返します。デフォルトは偽です。
[PARAM] all:
真を指定するとキャッシュを更新してから検索を実行します。
[RETURN]
第一要素を Gem::Specification、第二要素を取得元の URL とする配列を要素とする配列を返します。
set_cache_data(hash) -> true[permalink][rdoc][edit]

直接キャッシュデータをセットします。

このメソッドは主にユニットテストで使用します。

[PARAM] hash:
キャッシュデータとして使用するハッシュを指定します。
system_cache_file -> String[permalink][rdoc][edit]

システムキャッシュファイルの名前を返します。

try_file(path) -> String | nil[permalink][rdoc][edit]

与えられたパスがキャッシュファイルとして利用可能な場合、そのパスを返します。そうでない場合は nil を返します。

[PARAM] path:
キャッシュファイルの候補となるパスを指定します。
update -> true[permalink][rdoc][edit]

キャッシュが更新されたことをマークします。更新自体は行いません。

user_cache_file -> String[permalink][rdoc][edit]

ユーザーキャッシュのファイル名を返します。

write_cache -> nil[permalink][rdoc][edit]

適切なキャッシュファイルにキャッシュデータを書き込みます。