Fix type signatures.

This commit is contained in:
Markus Reiter 2024-07-14 22:51:54 -04:00
parent b6d529dab3
commit f41d2516ce
No known key found for this signature in database
GPG Key ID: 245293B51702655B
3 changed files with 36 additions and 12 deletions

View File

@ -11,13 +11,13 @@ module Downloadable
abstract! abstract!
sig { returns(T.nilable(URL)) } sig { overridable.returns(T.nilable(URL)) }
attr_reader :url attr_reader :url
sig { returns(T.nilable(Checksum)) } sig { overridable.returns(T.nilable(Checksum)) }
attr_reader :checksum attr_reader :checksum
sig { returns(T::Array[String]) } sig { overridable.returns(T::Array[String]) }
attr_reader :mirrors attr_reader :mirrors
sig { void } sig { void }
@ -32,7 +32,7 @@ module Downloadable
@version = @version.dup @version = @version.dup
end end
sig { returns(T.self_type) } sig { overridable.returns(T.self_type) }
def freeze def freeze
@checksum.freeze @checksum.freeze
@mirrors.freeze @mirrors.freeze
@ -48,22 +48,22 @@ module Downloadable
T.must(self.class.name&.split("::")&.last).gsub(/([[:lower:]])([[:upper:]])/, '\1 \2').downcase T.must(self.class.name&.split("::")&.last).gsub(/([[:lower:]])([[:upper:]])/, '\1 \2').downcase
end end
sig { returns(T::Boolean) } sig(:final) { returns(T::Boolean) }
def downloaded? def downloaded?
cached_download.exist? cached_download.exist?
end end
sig { returns(Pathname) } sig { overridable.returns(Pathname) }
def cached_download def cached_download
downloader.cached_location downloader.cached_location
end end
sig { void } sig { overridable.void }
def clear_cache def clear_cache
downloader.clear_cache downloader.clear_cache
end end
sig { returns(T.nilable(Version)) } sig { overridable.returns(T.nilable(Version)) }
def version def version
return @version if @version && !@version.null? return @version if @version && !@version.null?

View File

@ -203,7 +203,7 @@ class Resource
@download_strategy = @url.download_strategy @download_strategy = @url.download_strategy
end end
sig { params(val: T.nilable(T.any(String, Version))).returns(T.nilable(Version)) } sig { override.params(val: T.nilable(T.any(String, Version))).returns(T.nilable(Version)) }
def version(val = nil) def version(val = nil)
return super() if val.nil? return super() if val.nil?

View File

@ -9,6 +9,15 @@ module Homebrew
attr_reader :downloadable attr_reader :downloadable
private :downloadable private :downloadable
sig { override.returns(T.nilable(URL)) }
def url = downloadable.url
sig { override.returns(T.nilable(Checksum)) }
def checksum = downloadable.checksum
sig { override.returns(T::Array[String]) }
def mirrors = downloadable.mirrors
sig { params(downloadable: Downloadable, tries: Integer).void } sig { params(downloadable: Downloadable, tries: Integer).void }
def initialize(downloadable, tries: 3) def initialize(downloadable, tries: 3)
super() super()
@ -24,12 +33,21 @@ module Homebrew
sig { override.returns(String) } sig { override.returns(String) }
def download_type = downloadable.download_type def download_type = downloadable.download_type
sig { override.returns(T::Boolean) }
def downloaded? = downloadable.downloaded?
sig { override.returns(Pathname) } sig { override.returns(Pathname) }
def cached_download = downloadable.cached_download def cached_download = downloadable.cached_download
sig { override.void }
def clear_cache = downloadable.clear_cache
sig { override.returns(T.nilable(Version)) }
def version = downloadable.version
sig { override.returns(T.class_of(AbstractDownloadStrategy)) }
def download_strategy = downloadable.download_strategy
sig { override.returns(AbstractDownloadStrategy) }
def downloader = downloadable.downloader
sig { sig {
override.params( override.params(
verify_download_integrity: T::Boolean, verify_download_integrity: T::Boolean,
@ -68,5 +86,11 @@ module Homebrew
downloadable.clear_cache downloadable.clear_cache
retry retry
end end
sig { override.params(filename: Pathname).void }
def verify_download_integrity(filename) = downloadable.verify_download_integrity(filename)
sig { override.returns(String) }
def download_name = downloadable.download_name
end end
end end