Remove CaskLoader::tap_paths
.
This commit is contained in:
parent
14ba271533
commit
670eb3d02d
@ -18,7 +18,7 @@ module Cask
|
|||||||
extend T::Helpers
|
extend T::Helpers
|
||||||
interface!
|
interface!
|
||||||
|
|
||||||
sig { abstract.params(config: Config).returns(Cask) }
|
sig { abstract.params(config: T.nilable(Config)).returns(Cask) }
|
||||||
def load(config:); end
|
def load(config:); end
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -118,6 +118,7 @@ module Cask
|
|||||||
@tap = Tap.from_path(path) || Homebrew::API.tap_from_source_download(path)
|
@tap = Tap.from_path(path) || Homebrew::API.tap_from_source_download(path)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
sig { override.params(config: T.nilable(Config)).returns(Cask) }
|
||||||
def load(config:)
|
def load(config:)
|
||||||
raise CaskUnavailableError.new(token, "'#{path}' does not exist.") unless path.exist?
|
raise CaskUnavailableError.new(token, "'#{path}' does not exist.") unless path.exist?
|
||||||
raise CaskUnavailableError.new(token, "'#{path}' is not readable.") unless path.readable?
|
raise CaskUnavailableError.new(token, "'#{path}' is not readable.") unless path.readable?
|
||||||
@ -220,6 +221,7 @@ module Cask
|
|||||||
super cask
|
super cask
|
||||||
end
|
end
|
||||||
|
|
||||||
|
sig { override.params(config: T.nilable(Config)).returns(Cask) }
|
||||||
def load(config:)
|
def load(config:)
|
||||||
raise TapCaskUnavailableError.new(tap, token) unless T.must(tap).installed?
|
raise TapCaskUnavailableError.new(tap, token) unless T.must(tap).installed?
|
||||||
|
|
||||||
@ -475,7 +477,7 @@ module Cask
|
|||||||
when 1
|
when 1
|
||||||
loaders.first
|
loaders.first
|
||||||
when 2..Float::INFINITY
|
when 2..Float::INFINITY
|
||||||
raise TapCaskAmbiguityError.new(token, loaders.map(&:tap))
|
raise TapCaskAmbiguityError.new(token, loaders)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@ -584,12 +586,6 @@ module Cask
|
|||||||
find_cask_in_tap(token.to_s.downcase, CoreCaskTap.instance)
|
find_cask_in_tap(token.to_s.downcase, CoreCaskTap.instance)
|
||||||
end
|
end
|
||||||
|
|
||||||
def self.tap_paths(token)
|
|
||||||
token = token.to_s.downcase
|
|
||||||
|
|
||||||
Tap.map { |tap| find_cask_in_tap(token, tap) }.select(&:exist?)
|
|
||||||
end
|
|
||||||
|
|
||||||
def self.find_cask_in_tap(token, tap)
|
def self.find_cask_in_tap(token, tap)
|
||||||
filename = "#{token}.rb"
|
filename = "#{token}.rb"
|
||||||
|
|
||||||
|
@ -54,9 +54,8 @@ module Cask
|
|||||||
def self.casks(config: nil)
|
def self.casks(config: nil)
|
||||||
tokens.sort.map do |token|
|
tokens.sort.map do |token|
|
||||||
CaskLoader.load(token, config: config, warn: false)
|
CaskLoader.load(token, config: config, warn: false)
|
||||||
rescue TapCaskAmbiguityError
|
rescue TapCaskAmbiguityError => e
|
||||||
tap_path = CaskLoader.tap_paths(token).first
|
T.must(e.loaders.first).load(config: config)
|
||||||
CaskLoader::FromPathLoader.new(tap_path).load(config: config)
|
|
||||||
rescue
|
rescue
|
||||||
# Don't blow up because of a single unavailable cask.
|
# Don't blow up because of a single unavailable cask.
|
||||||
nil
|
nil
|
||||||
|
@ -131,7 +131,17 @@ module Cask
|
|||||||
#
|
#
|
||||||
# @api private
|
# @api private
|
||||||
class TapCaskAmbiguityError < CaskError
|
class TapCaskAmbiguityError < CaskError
|
||||||
def initialize(token, taps)
|
sig { returns(String) }
|
||||||
|
attr_reader :token
|
||||||
|
|
||||||
|
sig { returns(T::Array[CaskLoader::FromNameLoader]) }
|
||||||
|
attr_reader :loaders
|
||||||
|
|
||||||
|
sig { params(token: String, loaders: T::Array[CaskLoader::FromNameLoader]).void }
|
||||||
|
def initialize(token, loaders)
|
||||||
|
@loaders = loaders
|
||||||
|
|
||||||
|
taps = loaders.map(&:tap)
|
||||||
casks = taps.map { |tap| "#{tap}/#{token}" }
|
casks = taps.map { |tap| "#{tap}/#{token}" }
|
||||||
cask_list = casks.sort.map { |f| "\n * #{f}" }.join
|
cask_list = casks.sort.map { |f| "\n * #{f}" }.join
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user