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

View File

@ -203,7 +203,7 @@ class Resource
@download_strategy = @url.download_strategy
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)
return super() if val.nil?

View File

@ -9,6 +9,15 @@ module Homebrew
attr_reader :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 }
def initialize(downloadable, tries: 3)
super()
@ -24,12 +33,21 @@ module Homebrew
sig { override.returns(String) }
def download_type = downloadable.download_type
sig { override.returns(T::Boolean) }
def downloaded? = downloadable.downloaded?
sig { override.returns(Pathname) }
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 {
override.params(
verify_download_integrity: T::Boolean,
@ -68,5 +86,11 @@ module Homebrew
downloadable.clear_cache
retry
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