Class: CaskDescriptionCacheStore Private
- Inherits:
-
DescriptionCacheStore
- Object
- CacheStore
- DescriptionCacheStore
- CaskDescriptionCacheStore
- Defined in:
- description_cache_store.rb
Overview
This class is part of a private API. This class may only be used in the Homebrew/brew repository. Third parties should avoid using this class if possible, as it may be removed or changed without warning.
CaskDescriptionCacheStore provides methods to fetch and mutate cask descriptions used
by the brew desc and brew search commands.
Constant Summary collapse
- Key =
This constant is part of a private API. This constant may only be used in the Homebrew/brew repository. Third parties should avoid using this constant if possible, as it may be removed or changed without warning.
type_member { { fixed: String } }
- Value =
This constant is part of a private API. This constant may only be used in the Homebrew/brew repository. Third parties should avoid using this constant if possible, as it may be removed or changed without warning.
type_member { { fixed: T.anything } }
Instance Method Summary collapse
-
#populate_if_empty!(eval_all: Homebrew::EnvConfig.eval_all?) ⇒ void
private
If the database is empty
update!it with all known casks. -
#update_from_cask_tokens!(cask_tokens) ⇒ void
private
Use an array of cask tokens to update the CaskDescriptionCacheStore.
-
#update_from_report!(report) ⇒ void
private
Use an update report to update the CaskDescriptionCacheStore.
Methods inherited from DescriptionCacheStore
#delete!, #delete_from_formula_names!, #select, #update!, #update_from_formula_names!
Methods inherited from CacheStore
Constructor Details
This class inherits a constructor from CacheStore
Instance Method Details
#populate_if_empty!(eval_all: Homebrew::EnvConfig.eval_all?) ⇒ void
This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.
This method returns an undefined value.
If the database is empty update! it with all known casks.
118 119 120 121 122 123 124 |
# File 'description_cache_store.rb', line 118 def populate_if_empty!(eval_all: Homebrew::EnvConfig.eval_all?) return unless eval_all return unless database.empty? Cask::Cask.all(eval_all:) .each { |c| update!(c.full_name, [c.name.join(", "), c.desc.presence]) } end |
#update_from_cask_tokens!(cask_tokens) ⇒ void
This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.
This method returns an undefined value.
Use an array of cask tokens to update the CaskDescriptionCacheStore.
151 152 153 154 155 156 157 158 159 160 161 162 163 164 |
# File 'description_cache_store.rb', line 151 def update_from_cask_tokens!(cask_tokens) unless Homebrew::EnvConfig.eval_all? database.clear! return end return populate_if_empty! if database.empty? cask_tokens.each do |token| c = Cask::CaskLoader.load(token) update!(c.full_name, [c.name.join(", "), c.desc.presence]) rescue Cask::CaskUnavailableError, *FormulaVersions::IGNORED_EXCEPTIONS delete!(c.full_name) if c.present? end end |
#update_from_report!(report) ⇒ void
This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.
This method returns an undefined value.
Use an update report to update the CaskDescriptionCacheStore.
131 132 133 134 135 136 137 138 139 140 141 142 143 144 |
# File 'description_cache_store.rb', line 131 def update_from_report!(report) unless Homebrew::EnvConfig.eval_all? database.clear! return end return populate_if_empty! if database.empty? return if report.empty? alterations = report.select_formula_or_cask(:AC) + report.select_formula_or_cask(:MC) update_from_cask_tokens!(alterations) delete_from_cask_tokens!(report.select_formula_or_cask(:DC)) end |