Class: CoreCaskTap Private
- Inherits:
-
AbstractCoreTap
- Object
- Tap
- AbstractCoreTap
- CoreCaskTap
- Defined in:
- tap.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.
A specialized Tap class for homebrew-cask.
Constant Summary
Constants inherited from Tap
Tap::HOMEBREW_TAP_JSON_FILES, Tap::TAP_DIRECTORY
Instance Attribute Summary
Attributes inherited from Tap
#full_name, #git_repo, #name, #path, #repo, #user
Instance Method Summary collapse
- #cask_files ⇒ Array<Pathname> private
- #cask_files_by_name ⇒ Hash{String => Pathname} private
- #cask_renames ⇒ Hash{String => String} private
- #cask_tokens ⇒ Array<String> private
- #core_cask_tap? ⇒ Boolean private
- #initialize ⇒ void constructor private
- #new_cask_path(token) ⇒ Pathname private
- #tap_migrations ⇒ Hash private
- #to_internal_api_hash ⇒ Hash{String => T.untyped} private
Methods inherited from AbstractCoreTap
#ensure_installed!, ensure_installed!, #formula_file_to_name, instance, #should_report_analytics?
Methods inherited from Tap
#alias_dir, #alias_file_to_name, #alias_files, #alias_reverse_table, #alias_table, #aliases, all, #allow_bump?, #audit_exception, #audit_exceptions, #autobump, #cask_dir, #cask_file?, #cask_reverse_renames, #clear_cache, cmd_directories, #command_dir, #command_files, #config, #contents, #core_tap?, #custom_remote?, default_cask_tap, #default_remote, each, #ensure_installed!, fetch, #fix_remote_configuration, #formula_dir, #formula_file?, #formula_file_to_name, #formula_files, #formula_files_by_name, #formula_names, #formula_renames, #formula_reverse_renames, from_path, #git?, #git_branch, #git_head, #git_last_commit, #install, install_default_cask_tap_if_necessary, installed, #installed?, #issues_url, #link_completions_and_manpages, names, #new_formula_path, #official?, #potential_formula_dirs, #prefix_to_versioned_formulae_names, #private?, #pypi_formula_mappings, #relative_cask_path, #remote, #remote_repo, #repo_var_suffix, #reverse_tap_migrations_renames, #shallow?, #should_report_analytics?, #style_exceptions, #synced_versions_formulae, tap_migration_oldnames, #to_hash, #uninstall, untapped_official_taps, with_cask_token, with_formula_name
Methods included from Cachable
Methods included from Enumerable
Constructor Details
#initialize ⇒ 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.
1344 1345 1346 |
# File 'tap.rb', line 1344 def initialize super "Homebrew", "cask" end |
Instance Method Details
#cask_files ⇒ Array<Pathname>
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.
1360 1361 1362 1363 1364 |
# File 'tap.rb', line 1360 def cask_files return super if Homebrew::EnvConfig.no_install_from_api? cask_files_by_name.values end |
#cask_files_by_name ⇒ Hash{String => Pathname}
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.
1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 |
# File 'tap.rb', line 1374 def cask_files_by_name return super if Homebrew::EnvConfig.no_install_from_api? @cask_files_by_name ||= Homebrew::API::Cask.all_casks.each_with_object({}) do |item, hash| name, cask_hash = item # If there's more than one item with the same path: use the longer one to prioritise more specific results. existing_path = hash[name] new_path = path/cask_hash["ruby_source_path"] hash[name] = new_path if existing_path.nil? || existing_path.to_s.length < new_path.to_s.length end end |
#cask_renames ⇒ Hash{String => String}
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.
1387 1388 1389 1390 1391 1392 1393 |
# File 'tap.rb', line 1387 def cask_renames @cask_renames ||= if Homebrew::EnvConfig.no_install_from_api? super else Homebrew::API::Cask.all_renames end end |
#cask_tokens ⇒ Array<String>
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.
1367 1368 1369 1370 1371 |
# File 'tap.rb', line 1367 def cask_tokens return super if Homebrew::EnvConfig.no_install_from_api? Homebrew::API::Cask.all_casks.keys end |
#core_cask_tap? ⇒ Boolean
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.
1349 1350 1351 |
# File 'tap.rb', line 1349 def core_cask_tap? true end |
#new_cask_path(token) ⇒ Pathname
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.
1354 1355 1356 1357 |
# File 'tap.rb', line 1354 def new_cask_path(token) cask_subdir = token[0].to_s cask_dir/cask_subdir/"#{token.downcase}.rb" end |
#tap_migrations ⇒ Hash
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.
1396 1397 1398 1399 1400 1401 1402 1403 1404 |
# File 'tap.rb', line 1396 def tap_migrations @tap_migrations ||= if Homebrew::EnvConfig.no_install_from_api? super else migrations, = Homebrew::API.fetch_json_api_file "cask_tap_migrations.jws.json", stale_seconds: TAP_MIGRATIONS_STALE_SECONDS migrations end end |
#to_internal_api_hash ⇒ Hash{String => T.untyped}
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.
1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 |
# File 'tap.rb', line 1407 def to_internal_api_hash casks_api_hash = cask_tokens.to_h do |token| cask = Cask::CaskLoader.load(token) cask_hash = cask.to_hash_with_variations(hash_method: :to_internal_api_hash) [token, cask_hash] end { "tap_git_head" => git_head, "renames" => cask_renames, "tap_migrations" => tap_migrations, "casks" => casks_api_hash, } end |