38 lines
1.0 KiB
Ruby
Raw Normal View History

2021-08-06 02:30:44 -04:00
# typed: false
# frozen_string_literal: true
module Homebrew
module API
# Helper functions for using the cask JSON API.
#
# @api private
module Cask
2021-08-09 16:48:13 -04:00
class << self
extend T::Sig
2021-08-06 02:30:44 -04:00
2023-01-28 02:15:00 -06:00
sig { params(token: String).returns(Hash) }
def fetch(token)
Homebrew::API.fetch "cask/#{token}.json"
end
sig { params(token: String, git_head: T.nilable(String)).returns(String) }
def fetch_source(token, git_head: nil)
Homebrew::API.fetch_file_source "Casks/#{token}.rb", repo: "Homebrew/homebrew-cask", git_head: git_head
2021-08-09 16:48:13 -04:00
end
sig { returns(Hash) }
def all_casks
@all_casks ||= begin
2023-01-02 13:03:57 -05:00
json_casks = Homebrew::API.fetch_json_api_file "cask.json",
target: HOMEBREW_CACHE_API/"cask.json"
json_casks.to_h do |json_cask|
[json_cask["token"], json_cask.except("token")]
end
end
end
2021-08-06 02:30:44 -04:00
end
end
end
end