diff --git a/Library/Homebrew/api/cask.rb b/Library/Homebrew/api/cask.rb index baaf2f0d8e..17ca86b716 100644 --- a/Library/Homebrew/api/cask.rb +++ b/Library/Homebrew/api/cask.rb @@ -60,7 +60,7 @@ module Homebrew end private :download_and_cache_data! - sig { returns(Hash) } + sig { returns(T::Hash[String, Hash]) } def all_casks unless cache.key?("casks") json_updated = download_and_cache_data! diff --git a/Library/Homebrew/cask/cask_loader.rb b/Library/Homebrew/cask/cask_loader.rb index 4aa25a9bf0..3eb99e2dd9 100644 --- a/Library/Homebrew/cask/cask_loader.rb +++ b/Library/Homebrew/cask/cask_loader.rb @@ -281,7 +281,11 @@ module Cask class FromAPILoader include ILoader - attr_reader :token, :path + sig { returns(String) } + attr_reader :token + + sig { returns(Pathname) } + attr_reader :path sig { returns(T.nilable(Hash)) } attr_reader :from_json @@ -296,7 +300,7 @@ module Cask return unless (match = ref.match(HOMEBREW_MAIN_TAP_CASK_REGEX)) - token = match[:token] + token = T.cast(match[:token], String) return if !Homebrew::API::Cask.all_casks.key?(token) && !Homebrew::API::Cask.all_renames.key?(token) ref = "#{CoreCaskTap.instance}/#{token}" @@ -313,7 +317,7 @@ module Cask end def load(config:) - json_cask = from_json || Homebrew::API::Cask.all_casks[token] + json_cask = from_json || Homebrew::API::Cask.all_casks.fetch(token) cask_options = { loaded_from_api: true, diff --git a/Library/Homebrew/cli/named_args.rb b/Library/Homebrew/cli/named_args.rb index 04f81687ba..9b470f4f2e 100644 --- a/Library/Homebrew/cli/named_args.rb +++ b/Library/Homebrew/cli/named_args.rb @@ -256,11 +256,11 @@ module Homebrew paths = [] if formula_path.exist? || - (!CoreTap.instance.installed? && Homebrew::API::Formula.all_formulae.key?(path.basename)) + (!CoreTap.instance.installed? && Homebrew::API::Formula.all_formulae.key?(path.basename.to_s)) paths << formula_path end if cask_path.exist? || - (!CoreCaskTap.instance.installed? && Homebrew::API::Cask.all_casks.key?(path.basename)) + (!CoreCaskTap.instance.installed? && Homebrew::API::Cask.all_casks.key?(path.basename.to_s)) paths << cask_path end