Class: CaskDescriptionCacheStore
- Inherits:
-
DescriptionCacheStore
- Object
- CacheStore
- DescriptionCacheStore
- CaskDescriptionCacheStore
- Defined in:
- description_cache_store.rb
Overview
CaskDescriptionCacheStore provides methods to fetch and mutate cask descriptions used
by the brew desc
and brew search
commands.
Instance Method Summary collapse
-
#populate_if_empty!(eval_all: Homebrew::EnvConfig.eval_all?) ⇒ nil
If the database is empty
update!
it with all known casks. -
#update_from_cask_tokens!(cask_tokens) ⇒ nil
Use an array of cask tokens to update the CaskDescriptionCacheStore.
-
#update_from_report!(report) ⇒ nil
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
#delete!, #fetch, #initialize, #update!
Constructor Details
This class inherits a constructor from CacheStore
Instance Method Details
#populate_if_empty!(eval_all: Homebrew::EnvConfig.eval_all?) ⇒ nil
If the database is empty update!
it with all known casks.
99 100 101 102 103 104 |
# File 'description_cache_store.rb', line 99 def populate_if_empty!(eval_all: Homebrew::EnvConfig.eval_all?) return unless eval_all return unless database.empty? Cask::Cask.all.each { |c| update!(c.full_name, [c.name.join(", "), c.desc.presence]) } end |
#update_from_cask_tokens!(cask_tokens) ⇒ nil
Use an array of cask tokens to update the CaskDescriptionCacheStore.
126 127 128 129 130 131 132 133 134 135 136 |
# File 'description_cache_store.rb', line 126 def update_from_cask_tokens!(cask_tokens) return unless Homebrew::EnvConfig.eval_all? 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) ⇒ nil
Use an update report to update the CaskDescriptionCacheStore.
110 111 112 113 114 115 116 117 118 119 120 |
# File 'description_cache_store.rb', line 110 def update_from_report!(report) return unless Homebrew::EnvConfig.eval_all? 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 |