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

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:



241
242
243
244
245
# File 'cask/cask_loader.rb', line 241

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:



219
220
221
# File 'cask/cask_loader.rb', line 219

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:



226
227
228
229
230
231
232
233
234
235
236
237
238
# File 'cask/cask_loader.rb', line 226

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:



248
249
250
251
252
# File 'cask/cask_loader.rb', line 248

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

  super
end