Spec-Zone.ru › Homebrew

Класс: DescriptionCacheStore Приватный

Наследует:
CacheStore
  • Object
  • CacheStore
  • DescriptionCacheStore
показать все
Определён в:
description_cache_store.rb

Обзор

Этот класс является частью приватного API. Этот класс можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам следует по возможности избегать использования этого класса, поскольку он может быть удалён или изменён без предупреждения.

DescriptionCacheStore предоставляет методы для получения и изменения описаний формул, используемых командами brew desc и brew search.

Прямые известные подклассы

CaskDescriptionCacheStore

Краткое описание констант свернуть

Key =

Эта константа является частью приватного API. Эту константу можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам следует по возможности избегать использования этой константы, поскольку она может быть удалена или изменена без предупреждения.

type_member { { fixed: String } }
Value =

Эта константа является частью приватного API. Эту константу можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам следует по возможности избегать использования этой константы, поскольку она может быть удалена или изменена без предупреждения.

type_member { { fixed: T.anything } }

Краткое описание методов экземпляра свернуть

  • #delete!(formula_name) ⇒ void приватный

    Удаляет описание формулы из DescriptionCacheStore.

  • #delete_from_formula_names!(formula_names) ⇒ void (также: #delete_from_cask_tokens!) приватный

    Использует массив имён формул для их удаления из DescriptionCacheStore.

  • #populate_if_empty!(eval_all: Homebrew::EnvConfig.tap_trust_configured?) ⇒ void приватный

    Если база данных пуста, update! её всеми известными формулами.

  • #select(&block) ⇒ Hash{Key => Value} приватный

    select из базовой базы данных.

  • #update!(formula_name, description) ⇒ void приватный

    Добавляет описание формулы в кэш, если его там нет, или обновляет описание, если оно уже есть.

  • #update_from_formula_names!(formula_names) ⇒ void приватный

    Использует массив имён формул для обновления DescriptionCacheStore.

  • #update_from_report!(report) ⇒ void приватный

    Использует отчёт об обновлении для обновления DescriptionCacheStore.

Методы, унаследованные от CacheStore

#initialize

Подробное описание конструкторов

Этот класс наследует конструктор от CacheStore

Подробное описание методов экземпляра

#delete!(formula_name) ⇒ void

Этот метод относится к приватному API. Этот метод можно использовать только в репозитории Homebrew/brew. Третьим сторонам по возможности следует избегать использования этого метода, так как он может быть удалён или изменён без предупреждения.

Этот метод возвращает неопределённое значение.

Удаляет описание формулы из DescriptionCacheStore.

Параметры:

  • formula_name (String) —

    название удаляемой формулы



31
32
33
# File 'description_cache_store.rb', line 31

def delete!(formula_name)
  database.delete(formula_name)
end

#delete_from_formula_names!(formula_names) ⇒ void Также известно как: delete_from_cask_tokens!

Этот метод относится к приватному API. Этот метод можно использовать только в репозитории Homebrew/brew. Третьим сторонам по возможности следует избегать использования этого метода, так как он может быть удалён или изменён без предупреждения.

Этот метод возвращает неопределённое значение.

Использует массив названий формул для их удаления из DescriptionCacheStore.

Параметры:

  • formula_names (Array<String>) —

    удаляемые формулы



93
94
95
96
97
# File 'description_cache_store.rb', line 93

def delete_from_formula_names!(formula_names)
  return if database.empty?

  formula_names.each { delete!(it) }
end

#populate_if_empty!(eval_all: Homebrew::EnvConfig.tap_trust_configured?) ⇒ void

Этот метод относится к приватному API. Этот метод можно использовать только в репозитории Homebrew/brew. Третьим сторонам по возможности следует избегать использования этого метода, так как он может быть удалён или изменён без предупреждения.

Этот метод возвращает неопределённое значение.

Если база данных пуста, update! её всеми известными формулами.

Параметры:

  • eval_all (Boolean) (по умолчанию: Homebrew::EnvConfig.tap_trust_configured?)


39
40
41
42
43
44
# File 'description_cache_store.rb', line 39

def populate_if_empty!(eval_all: Homebrew::EnvConfig.tap_trust_configured?)
  return unless eval_all
  return unless database.empty?

  Formula.all(eval_all:).each { |f| update!(f.full_name, f.desc) }
end

#select(&block) ⇒ Hash{Key => Value}

Этот метод относится к приватному API. Этот метод можно использовать только в репозитории Homebrew/brew. Третьим сторонам по возможности следует избегать использования этого метода, так как он может быть удалён или изменён без предупреждения.

select из базовой базы данных.

Параметры:

  • block (T.proc.params(arg0: Key, arg1: Value).returns(BasicObject))

Возвращает:

  • (Hash{Key => Value})


102
103
104
# File 'description_cache_store.rb', line 102

def select(&block)
  database.select(&block)
end

#update!(formula_name, description) ⇒ void

Этот метод относится к приватному API. Этот метод можно использовать только в репозитории Homebrew/brew. Третьим сторонам по возможности следует избегать использования этого метода, так как он может быть удалён или изменён без предупреждения.

Этот метод возвращает неопределённое значение.

Добавляет описание формулы в кэш, если его там нет, или обновляет описание формулы, если оно уже есть.

Параметры:

  • formula_name (String) —

    название устанавливаемой формулы

  • description (T.anything) —

    описание устанавливаемой формулы



22
23
24
# File 'description_cache_store.rb', line 22

def update!(formula_name, description)
  database.set(formula_name, description)
end

#update_from_formula_names!(formula_names) ⇒ void

Этот метод относится к приватному API. Этот метод можно использовать только в репозитории Homebrew/brew. Третьим сторонам по возможности следует избегать использования этого метода, так как он может быть удалён или изменён без предупреждения.

Этот метод возвращает неопределённое значение.

Использует массив названий формул для обновления DescriptionCacheStore.

Параметры:

  • formula_names (Array<String>) —

    обновляемые формулы



74
75
76
77
78
79
80
81
82
83
84
85
86
# File 'description_cache_store.rb', line 74

def update_from_formula_names!(formula_names)
  unless Homebrew::EnvConfig.tap_trust_configured?
    database.clear!
    return
  end
  return populate_if_empty! if database.empty?

  formula_names.each do |name|
    update!(name, Formula[name].desc)
  rescue FormulaUnavailableError, Homebrew::UntrustedTapError, *FormulaVersions::IGNORED_EXCEPTIONS
    delete!(name)
  end
end

#update_from_report!(report) ⇒ void

Этот метод относится к приватному API. Этот метод можно использовать только в репозитории Homebrew/brew. Третьим сторонам по возможности следует избегать использования этого метода, так как он может быть удалён или изменён без предупреждения.

Этот метод возвращает неопределённое значение.

Использует отчёт об обновлении для обновления DescriptionCacheStore.

Параметры:

  • report (ReporterHub) —

    отчёт об обновлении, созданный cmd/update.rb



51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
# File 'description_cache_store.rb', line 51

def update_from_report!(report)
  unless Homebrew::EnvConfig.tap_trust_configured?
    database.clear!
    return
  end
  return populate_if_empty! if database.empty?
  return if report.empty?

  renamings   = T.cast(report.select_formula_or_cask(:R), T::Array[T::Array[String]])
  alterations = report.select_formula_or_cask(:A) +
                report.select_formula_or_cask(:M) +
                renamings.filter_map(&:last)

  update_from_formula_names!(alterations)
  delete_from_formula_names!(report.select_formula_or_cask(:D) +
                             renamings.filter_map(&:first))
end

© 2009–present Homebrew contributors
Licensed under the BSD 2-Clause License.
https://docs.brew.sh/rubydoc/DescriptionCacheStore.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API