Класс: LinkageCacheStore Приватный
- Наследует:
- CacheStore
- Object
- CacheStore
- LinkageCacheStore
- Определён в:
- linkage_cache_store.rb
Обзор
Этот класс является частью приватного API. Этот класс можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам по возможности следует избегать использования этого класса, поскольку он может быть удалён или изменён без предупреждения.
LinkageCacheStore предоставляет методы для получения и изменения данных о связях, используемых командой brew linkage.
Краткое описание констант свернуть
- Key =
Эта константа является частью приватного API. Эту константу можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам по возможности следует избегать использования этой константы, поскольку она может быть удалена или изменена без предупреждения.
type_member { { fixed: String } }
- Value =
Эта константа является частью приватного API. Эту константу можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам по возможности следует избегать использования этой константы, поскольку она может быть удалена или изменена без предупреждения.
type_member { { fixed: T::Hash[T.any(String, Symbol), T.anything] } }
Краткое описание методов экземпляра свернуть
- #delete! ⇒ void приватный
Удаляет кег из LinkageCacheStore.
- #fetch(type) ⇒ T.untyped приватный
- #initialize(keg_path, database) ⇒ void конструктор приватный
- #keg_exists? ⇒ Boolean приватный
Возвращает
true, если в базе данных есть какое-либо значение для текущегоkeg_path. - #update!(hash_values) ⇒ void приватный
Добавляет в кэш информацию, связанную с dylib, если её там нет, или обновляет данные в кэше связей, если они уже существуют.
Подробное описание конструкторов
#initialize(keg_path, database) ⇒ void
Этот метод является частью приватного API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам по возможности следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
15 16 17 18 | # File 'linkage_cache_store.rb', line 15 def initialize(keg_path, database) @keg_path = keg_path super(database) end |
Подробное описание методов экземпляра
#delete! ⇒ void
Этот метод является частью приватного API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам по возможности следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
Этот метод возвращает неопределённое значение.
Удаляет кег из LinkageCacheStore.
60 61 62 | # File 'linkage_cache_store.rb', line 60 def delete! database.delete(@keg_path) end |
#fetch(type) ⇒ T.untyped
Этот метод является частью приватного API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам по возможности следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
46 47 48 49 50 51 52 53 54 55 56 | # File 'linkage_cache_store.rb', line 46 def fetch(type) unless HASH_LINKAGE_TYPES.include?(type) raise TypeError, <<~EOS Can't fetch types that are not defined for the linkage store EOS end return {} unless keg_exists? fetch_hash_values(type) end |
#keg_exists? ⇒ Boolean
Этот метод является частью приватного API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам по возможности следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
Возвращает true, если в базе данных есть какое-либо значение для текущего keg_path.
22 23 24 | # File 'linkage_cache_store.rb', line 22 def keg_exists? !database.get(@keg_path).nil? end |
#update!(hash_values) ⇒ void
Этот метод является частью приватного API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам по возможности следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
Этот метод возвращает неопределённое значение.
Добавляет в кэш информацию, связанную с dylib, если её там нет, или обновляет данные в кэше связей, если они уже существуют.
31 32 33 34 35 36 37 38 39 40 41 | # File 'linkage_cache_store.rb', line 31 def update!(hash_values) hash_values.each_key do |type| next if HASH_LINKAGE_TYPES.include?(type) raise TypeError, <<~EOS Can't update types that are not defined for the linkage store EOS end database.set @keg_path, hash_values end |
© 2009–present Homebrew contributors
Licensed under the BSD 2-Clause License.
https://docs.brew.sh/rubydoc/LinkageCacheStore.html