Class: Cask::CaskLoader::FromTapLoader Private
- Inherits:
-
FromPathLoader
- Object
- AbstractContentLoader
- FromPathLoader
- Cask::CaskLoader::FromTapLoader
- Defined in:
- cask/cask_loader.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.
Loads a cask from a specific tap.
Direct Known Subclasses
Instance Attribute Summary collapse
- #tap ⇒ Tap readonly private
Attributes inherited from FromPathLoader
#from_installed_caskfile, #path, #token
Attributes inherited from AbstractContentLoader
Class Method Summary collapse
- .loader_from_token_tap_type(token_tap_type) ⇒ T.attached_class, ... private
- .try_new(ref, warn: false) ⇒ T.attached_class, ... private
Instance Method Summary collapse
- #initialize(tapped_token) ⇒ void constructor private
- #load(config:) ⇒ Cask private
Methods inherited from FromPathLoader
Methods included from Utils::Output::Mixin
#issue_reporting_message, #odebug, #odeprecated, #odie, #odisabled, #ofail, #oh1, #oh1_title, #ohai, #ohai_title, #onoe, #opoo, #opoo_once, #opoo_outside_github_actions, #opoo_without_github_actions_annotation, #pretty_cannot_install, #pretty_deprecated, #pretty_disabled, #pretty_duration, #pretty_install_status, #pretty_installed, #pretty_removed, #pretty_uninstalled, #pretty_unmarked, #pretty_upgradable, #pretty_warning
Constructor Details
#initialize(tapped_token) ⇒ 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.
237 238 239 240 241 242 243 244 245 |
# File 'cask/cask_loader.rb', line 237 def initialize(tapped_token) tap_with_token = Tap.with_cask_token(tapped_token) raise "unexpected nil Tap.with_cask_token" unless tap_with_token tap, token = tap_with_token cask = CaskLoader.find_cask_in_tap(token, tap) super cask @tap = T.let(tap, Tap) end |
Instance Attribute Details
#tap ⇒ Tap (readonly)
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.
210 211 212 |
# File 'cask/cask_loader.rb', line 210 def tap @tap end |
Class Method Details
.loader_from_token_tap_type(token_tap_type) ⇒ T.attached_class, ...
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.
226 227 228 229 230 231 232 233 234 |
# File 'cask/cask_loader.rb', line 226 def self.loader_from_token_tap_type(token_tap_type) token, tap, type = token_tap_type if type == :migration && tap.core_cask_tap? && (loader = FromAPILoader.try_new(token)) loader else new("#{tap}/#{token}") end end |
.try_new(ref, warn: false) ⇒ T.attached_class, ...
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.
216 217 218 219 220 |
# File 'cask/cask_loader.rb', line 216 def self.try_new(ref, warn: false) return unless (token_tap_type = CaskLoader.tap_cask_token_type(ref, warn:)) loader_from_token_tap_type(token_tap_type) end |
Instance Method Details
#load(config:) ⇒ Cask
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.
248 249 250 251 252 |
# File 'cask/cask_loader.rb', line 248 def load(config:) raise TapCaskUnavailableError.new(tap, token) unless tap.installed? super end |