Class: Cask::CaskLoader::FromTapLoader Private

Inherits:
FromPathLoader show all
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

FromNameLoader

Instance Attribute Summary collapse

Attributes inherited from FromPathLoader

#path, #token

Attributes inherited from AbstractContentLoader

#content

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from FromPathLoader

invalid_path?

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.

Parameters:



252
253
254
255
256
# File 'cask/cask_loader.rb', line 252

def initialize(tapped_token)
  tap, token = Tap.with_cask_token(tapped_token)
  cask = CaskLoader.find_cask_in_tap(token, tap)
  super cask
end

Instance Attribute Details

#tapTap (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.

Returns:



230
231
232
# File 'cask/cask_loader.rb', line 230

def tap
  @tap
end

Class Method Details

.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.

Parameters:

Returns:



237
238
239
240
241
242
243
244
245
246
247
248
249
# File 'cask/cask_loader.rb', line 237

def self.try_new(ref, warn: false)
  ref = ref.to_s

  return unless (token_tap_type = CaskLoader.tap_cask_token_type(ref, warn:))

  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

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.

Parameters:

Returns:

Raises:



259
260
261
262
263
# File 'cask/cask_loader.rb', line 259

def load(config:)
  raise TapCaskUnavailableError.new(tap, token) unless T.must(tap).installed?

  super
end