| 
									
										
										
										
											2021-08-06 11:56:42 -04:00
										 |  |  | # typed: false | 
					
						
							|  |  |  | # frozen_string_literal: true | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | module Homebrew | 
					
						
							|  |  |  |   module API | 
					
						
							|  |  |  |     # Helper functions for using the cask source API. | 
					
						
							|  |  |  |     # | 
					
						
							|  |  |  |     # @api private | 
					
						
							|  |  |  |     module CaskSource | 
					
						
							|  |  |  |       class << self | 
					
						
							|  |  |  |         extend T::Sig | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         sig { params(token: String).returns(Hash) } | 
					
						
							|  |  |  |         def fetch(token) | 
					
						
							| 
									
										
										
										
											2021-10-28 01:25:27 -04:00
										 |  |  |           token = token.sub(%r{^homebrew/cask/}, "") | 
					
						
							| 
									
										
										
										
											2021-08-06 11:56:42 -04:00
										 |  |  |           Homebrew::API.fetch "cask-source/#{token}.rb", json: false | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         sig { params(token: String).returns(T::Boolean) } | 
					
						
							|  |  |  |         def available?(token) | 
					
						
							|  |  |  |           fetch token | 
					
						
							|  |  |  |           true | 
					
						
							|  |  |  |         rescue ArgumentError | 
					
						
							|  |  |  |           false | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |     end | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  | end |