rubocop: require braces for Sorbet sig

This commit is contained in:
Seeker 2021-01-17 22:45:55 -08:00
parent 20eaf43836
commit fbafaff4fe
26 changed files with 96 additions and 92 deletions

View File

@ -51,3 +51,7 @@ Naming/PredicateName:
Style/HashAsLastArrayItem: Style/HashAsLastArrayItem:
Exclude: Exclude:
- 'test/utils/spdx_spec.rb' - 'test/utils/spdx_spec.rb'
Style/BlockDelimiters:
BracesRequiredMethods:
- 'sig'

View File

@ -43,7 +43,7 @@ class Bintray
curl(*args, url, print_stdout: false, secrets: key) curl(*args, url, print_stdout: false, secrets: key)
end end
sig do sig {
params(local_file: String, params(local_file: String,
repo: String, repo: String,
package: String, package: String,
@ -51,7 +51,7 @@ class Bintray
remote_file: String, remote_file: String,
sha256: T.nilable(String), sha256: T.nilable(String),
warn_on_error: T.nilable(T::Boolean)).void warn_on_error: T.nilable(T::Boolean)).void
end }
def upload(local_file, repo:, package:, version:, remote_file:, sha256: nil, warn_on_error: false) def upload(local_file, repo:, package:, version:, remote_file:, sha256: nil, warn_on_error: false)
unless File.exist? local_file unless File.exist? local_file
msg = "#{local_file} for upload doesn't exist!" msg = "#{local_file} for upload doesn't exist!"
@ -78,13 +78,13 @@ class Bintray
opoo msg opoo msg
end end
sig do sig {
params(repo: String, params(repo: String,
package: String, package: String,
version: String, version: String,
file_count: T.nilable(Integer), file_count: T.nilable(Integer),
warn_on_error: T.nilable(T::Boolean)).void warn_on_error: T.nilable(T::Boolean)).void
end }
def publish(repo:, package:, version:, file_count:, warn_on_error: false) def publish(repo:, package:, version:, file_count:, warn_on_error: false)
url = "#{API_URL}/content/#{@bintray_org}/#{repo}/#{package}/#{version}/publish" url = "#{API_URL}/content/#{@bintray_org}/#{repo}/#{package}/#{version}/publish"
upload_args = %w[--request POST] upload_args = %w[--request POST]
@ -113,12 +113,12 @@ class Bintray
status_code.start_with?("2") status_code.start_with?("2")
end end
sig do sig {
params(formula: Formula, params(formula: Formula,
repo: String, repo: String,
publish_package: T::Boolean, publish_package: T::Boolean,
warn_on_error: T::Boolean).returns(String) warn_on_error: T::Boolean).returns(String)
end }
def mirror_formula(formula, repo: "mirror", publish_package: false, warn_on_error: false) def mirror_formula(formula, repo: "mirror", publish_package: false, warn_on_error: false)
package = Utils::Bottles::Bintray.package formula.name package = Utils::Bottles::Bintray.package formula.name
@ -202,11 +202,11 @@ class Bintray
EOS EOS
end end
sig do sig {
params(bottles_hash: T::Hash[String, T.untyped], params(bottles_hash: T::Hash[String, T.untyped],
publish_package: T::Boolean, publish_package: T::Boolean,
warn_on_error: T.nilable(T::Boolean)).void warn_on_error: T.nilable(T::Boolean)).void
end }
def upload_bottles(bottles_hash, publish_package: false, warn_on_error: false) def upload_bottles(bottles_hash, publish_package: false, warn_on_error: false)
formula_packaged = {} formula_packaged = {}

View File

@ -41,10 +41,10 @@ module Cask
attr_reader :source, :target attr_reader :source, :target
sig do sig {
params(cask: Cask, source: T.nilable(T.any(String, Pathname)), target: T.nilable(T.any(String, Pathname))) params(cask: Cask, source: T.nilable(T.any(String, Pathname)), target: T.nilable(T.any(String, Pathname)))
.void .void
end }
def initialize(cask, source, target: nil) def initialize(cask, source, target: nil)
super(cask) super(cask)

View File

@ -57,7 +57,7 @@ module Cask
) )
end end
sig do sig {
params( params(
casks: Cask, casks: Cask,
args: Homebrew::CLI::Args, args: Homebrew::CLI::Args,
@ -70,7 +70,7 @@ module Cask
quarantine: T.nilable(T::Boolean), quarantine: T.nilable(T::Boolean),
require_sha: T.nilable(T::Boolean), require_sha: T.nilable(T::Boolean),
).returns(T::Boolean) ).returns(T::Boolean)
end }
def self.upgrade_casks( def self.upgrade_casks(
*casks, *casks,
args:, args:,

View File

@ -72,10 +72,10 @@ module Cask
) )
end end
sig do sig {
params(config: T::Enumerable[[T.any(String, Symbol), T.any(String, Pathname, T::Array[String])]]) params(config: T::Enumerable[[T.any(String, Symbol), T.any(String, Pathname, T::Array[String])]])
.returns(T::Hash[Symbol, T.any(String, Pathname, T::Array[String])]) .returns(T::Hash[Symbol, T.any(String, Pathname, T::Array[String])])
end }
def self.canonicalize(config) def self.canonicalize(config)
config.map do |k, v| config.map do |k, v|
key = k.to_sym key = k.to_sym
@ -91,14 +91,14 @@ module Cask
sig { returns(T::Hash[Symbol, T.any(String, Pathname, T::Array[String])]) } sig { returns(T::Hash[Symbol, T.any(String, Pathname, T::Array[String])]) }
attr_accessor :explicit attr_accessor :explicit
sig do sig {
params( params(
default: T.nilable(T::Hash[Symbol, T.any(String, Pathname, T::Array[String])]), default: T.nilable(T::Hash[Symbol, T.any(String, Pathname, T::Array[String])]),
env: T.nilable(T::Hash[Symbol, T.any(String, Pathname, T::Array[String])]), env: T.nilable(T::Hash[Symbol, T.any(String, Pathname, T::Array[String])]),
explicit: T::Hash[Symbol, T.any(String, Pathname, T::Array[String])], explicit: T::Hash[Symbol, T.any(String, Pathname, T::Array[String])],
ignore_invalid_keys: T::Boolean, ignore_invalid_keys: T::Boolean,
).void ).void
end }
def initialize(default: nil, env: nil, explicit: {}, ignore_invalid_keys: false) def initialize(default: nil, env: nil, explicit: {}, ignore_invalid_keys: false)
@default = self.class.canonicalize(self.class.defaults.merge(default)) if default @default = self.class.canonicalize(self.class.defaults.merge(default)) if default
@env = self.class.canonicalize(env) if env @env = self.class.canonicalize(env) if env

View File

@ -16,7 +16,7 @@ class URL
extend Forwardable extend Forwardable
def_delegators :uri, :path, :scheme, :to_s def_delegators :uri, :path, :scheme, :to_s
sig do sig {
params( params(
uri: T.any(URI::Generic, String), uri: T.any(URI::Generic, String),
verified: T.nilable(String), verified: T.nilable(String),
@ -34,7 +34,7 @@ class URL
from_block: T::Boolean, from_block: T::Boolean,
caller_location: Thread::Backtrace::Location, caller_location: Thread::Backtrace::Location,
).returns(T.untyped) ).returns(T.untyped)
end }
def initialize( def initialize(
uri, uri,
verified: nil, verified: nil,

View File

@ -42,10 +42,10 @@ module Homebrew
# Convert named arguments to {Formula} or {Cask} objects. # Convert named arguments to {Formula} or {Cask} objects.
# If both a formula and cask with the same name exist, returns # If both a formula and cask with the same name exist, returns
# the formula and prints a warning unless `only` is specified. # the formula and prints a warning unless `only` is specified.
sig do sig {
params(only: T.nilable(Symbol), ignore_unavailable: T.nilable(T::Boolean), method: T.nilable(Symbol)) params(only: T.nilable(Symbol), ignore_unavailable: T.nilable(T::Boolean), method: T.nilable(Symbol))
.returns(T::Array[T.any(Formula, Keg, Cask::Cask)]) .returns(T::Array[T.any(Formula, Keg, Cask::Cask)])
end }
def to_formulae_and_casks(only: parent&.only_formula_or_cask, ignore_unavailable: nil, method: nil) def to_formulae_and_casks(only: parent&.only_formula_or_cask, ignore_unavailable: nil, method: nil)
@to_formulae_and_casks ||= {} @to_formulae_and_casks ||= {}
@to_formulae_and_casks[only] ||= downcased_unique_named.flat_map do |name| @to_formulae_and_casks[only] ||= downcased_unique_named.flat_map do |name|
@ -175,10 +175,10 @@ module Homebrew
end end
end end
sig do sig {
params(only: T.nilable(Symbol), ignore_unavailable: T.nilable(T::Boolean), all_kegs: T.nilable(T::Boolean)) params(only: T.nilable(Symbol), ignore_unavailable: T.nilable(T::Boolean), all_kegs: T.nilable(T::Boolean))
.returns([T::Array[Keg], T::Array[Cask::Cask]]) .returns([T::Array[Keg], T::Array[Cask::Cask]])
end }
def to_kegs_to_casks(only: parent&.only_formula_or_cask, ignore_unavailable: nil, all_kegs: nil) def to_kegs_to_casks(only: parent&.only_formula_or_cask, ignore_unavailable: nil, all_kegs: nil)
method = all_kegs ? :kegs : :keg method = all_kegs ? :kegs : :keg
@to_kegs_to_casks ||= {} @to_kegs_to_casks ||= {}

View File

@ -355,14 +355,14 @@ module Homebrew
@formula_options = true @formula_options = true
end end
sig do sig {
params( params(
type: T.any(Symbol, T::Array[String], T::Array[Symbol]), type: T.any(Symbol, T::Array[String], T::Array[Symbol]),
number: T.nilable(Integer), number: T.nilable(Integer),
min: T.nilable(Integer), min: T.nilable(Integer),
max: T.nilable(Integer), max: T.nilable(Integer),
).void ).void
end }
def named_args(type = nil, number: nil, min: nil, max: nil) def named_args(type = nil, number: nil, min: nil, max: nil)
if number.present? && (min.present? || max.present?) if number.present? && (min.present? || max.present?)
raise ArgumentError, "Do not specify both `number` and `min` or `max`" raise ArgumentError, "Do not specify both `number` and `min` or `max`"

View File

@ -84,10 +84,10 @@ module Homebrew
end end
end end
sig do sig {
params(cask: Cask::Cask, state: T::Hash[String, T.untyped], dry_run: T.nilable(T::Boolean)) params(cask: Cask::Cask, state: T::Hash[String, T.untyped], dry_run: T.nilable(T::Boolean))
.returns(T.nilable(T::Hash[String, T.untyped])) .returns(T.nilable(T::Hash[String, T.untyped]))
end }
def self.bump_unversioned_cask(cask, state:, dry_run:) def self.bump_unversioned_cask(cask, state:, dry_run:)
ohai "Checking #{cask.full_name}" ohai "Checking #{cask.full_name}"

View File

@ -31,7 +31,7 @@ module EnvActivation
end end
end end
sig do sig {
params( params(
env: T.nilable(String), env: T.nilable(String),
cc: T.nilable(String), cc: T.nilable(String),
@ -39,7 +39,7 @@ module EnvActivation
bottle_arch: T.nilable(String), bottle_arch: T.nilable(String),
_block: T.proc.returns(T.untyped), _block: T.proc.returns(T.untyped),
).returns(T.untyped) ).returns(T.untyped)
end }
def with_build_environment(env: nil, cc: nil, build_bottle: false, bottle_arch: nil, &_block) def with_build_environment(env: nil, cc: nil, build_bottle: false, bottle_arch: nil, &_block)
old_env = to_hash.dup old_env = to_hash.dup
tmp_env = to_hash.dup.extend(EnvActivation) tmp_env = to_hash.dup.extend(EnvActivation)

View File

@ -24,10 +24,10 @@ module EnvMethods
sig { params(key: String).returns(T.nilable(String)) } sig { params(key: String).returns(T.nilable(String)) }
def delete(key); end def delete(key); end
sig do sig {
params(other: T.any(T::Hash[String, String], Sorbet::Private::Static::ENVClass)) params(other: T.any(T::Hash[String, String], Sorbet::Private::Static::ENVClass))
.returns(Sorbet::Private::Static::ENVClass) .returns(Sorbet::Private::Static::ENVClass)
end }
def replace(other); end def replace(other); end
sig { returns(T::Hash[String, String]) } sig { returns(T::Hash[String, String]) }

View File

@ -33,14 +33,14 @@ module SharedEnvExtension
].freeze ].freeze
private_constant :SANITIZED_VARS private_constant :SANITIZED_VARS
sig do sig {
params( params(
formula: T.nilable(Formula), formula: T.nilable(Formula),
cc: T.nilable(String), cc: T.nilable(String),
build_bottle: T.nilable(T::Boolean), build_bottle: T.nilable(T::Boolean),
bottle_arch: T.nilable(T::Boolean), bottle_arch: T.nilable(T::Boolean),
).void ).void
end }
def setup_build_environment(formula: nil, cc: nil, build_bottle: false, bottle_arch: nil) def setup_build_environment(formula: nil, cc: nil, build_bottle: false, bottle_arch: nil)
@formula = formula @formula = formula
@cc = cc @cc = cc

View File

@ -14,14 +14,14 @@ module Stdenv
SAFE_CFLAGS_FLAGS = "-w -pipe" SAFE_CFLAGS_FLAGS = "-w -pipe"
# @private # @private
sig do sig {
params( params(
formula: T.nilable(Formula), formula: T.nilable(Formula),
cc: T.nilable(String), cc: T.nilable(String),
build_bottle: T.nilable(T::Boolean), build_bottle: T.nilable(T::Boolean),
bottle_arch: T.nilable(T::Boolean), bottle_arch: T.nilable(T::Boolean),
).void ).void
end }
def setup_build_environment(formula: nil, cc: nil, build_bottle: false, bottle_arch: nil) def setup_build_environment(formula: nil, cc: nil, build_bottle: false, bottle_arch: nil)
super super

View File

@ -42,14 +42,14 @@ module Superenv
end end
# @private # @private
sig do sig {
params( params(
formula: T.nilable(Formula), formula: T.nilable(Formula),
cc: T.nilable(String), cc: T.nilable(String),
build_bottle: T.nilable(T::Boolean), build_bottle: T.nilable(T::Boolean),
bottle_arch: T.nilable(T::Boolean), bottle_arch: T.nilable(T::Boolean),
).void ).void
end }
def setup_build_environment(formula: nil, cc: nil, build_bottle: false, bottle_arch: nil) def setup_build_environment(formula: nil, cc: nil, build_bottle: false, bottle_arch: nil)
super super
send(compiler) send(compiler)

View File

@ -85,12 +85,12 @@ class Pathname
BOTTLE_EXTNAME_RX = /(\.[a-z0-9_]+\.bottle\.(\d+\.)?tar\.gz)$/.freeze BOTTLE_EXTNAME_RX = /(\.[a-z0-9_]+\.bottle\.(\d+\.)?tar\.gz)$/.freeze
# Moves a file from the original location to the {Pathname}'s. # Moves a file from the original location to the {Pathname}'s.
sig do sig {
params(sources: T.any( params(sources: T.any(
Resource, Resource::Partial, String, Pathname, Resource, Resource::Partial, String, Pathname,
T::Array[T.any(String, Pathname)], T::Hash[T.any(String, Pathname), String] T::Array[T.any(String, Pathname)], T::Hash[T.any(String, Pathname), String]
)).void )).void
end }
def install(*sources) def install(*sources)
sources.each do |src| sources.each do |src|
case src case src
@ -140,11 +140,11 @@ class Pathname
private :install_p private :install_p
# Creates symlinks to sources in this folder. # Creates symlinks to sources in this folder.
sig do sig {
params( params(
sources: T.any(String, Pathname, T::Array[T.any(String, Pathname)], T::Hash[T.any(String, Pathname), String]), sources: T.any(String, Pathname, T::Array[T.any(String, Pathname)], T::Hash[T.any(String, Pathname), String]),
).void ).void
end }
def install_symlink(*sources) def install_symlink(*sources)
sources.each do |src| sources.each do |src|
case src case src
@ -309,11 +309,11 @@ class Pathname
alias to_str to_s alias to_str to_s
sig do sig {
type_parameters(:U).params( type_parameters(:U).params(
_block: T.proc.params(path: Pathname).returns(T.type_parameter(:U)), _block: T.proc.params(path: Pathname).returns(T.type_parameter(:U)),
).returns(T.type_parameter(:U)) ).returns(T.type_parameter(:U))
end }
def cd(&_block) def cd(&_block)
Dir.chdir(self) { yield self } Dir.chdir(self) { yield self }
end end
@ -413,14 +413,14 @@ class Pathname
end end
# Writes an exec script that invokes a Java jar. # Writes an exec script that invokes a Java jar.
sig do sig {
params( params(
target_jar: T.any(String, Pathname), target_jar: T.any(String, Pathname),
script_name: T.any(String, Pathname), script_name: T.any(String, Pathname),
java_opts: String, java_opts: String,
java_version: T.nilable(String), java_version: T.nilable(String),
).returns(Integer) ).returns(Integer)
end }
def write_jar_script(target_jar, script_name, java_opts = "", java_version: nil) def write_jar_script(target_jar, script_name, java_opts = "", java_version: nil)
(self/script_name).write <<~EOS (self/script_name).write <<~EOS
#!/bin/bash #!/bin/bash

View File

@ -62,7 +62,7 @@ module Homebrew
# Executes the livecheck logic for each formula/cask in the # Executes the livecheck logic for each formula/cask in the
# `formulae_and_casks_to_check` array and prints the results. # `formulae_and_casks_to_check` array and prints the results.
sig do sig {
params( params(
formulae_and_casks_to_check: T::Enumerable[T.any(Formula, Cask::Cask)], formulae_and_casks_to_check: T::Enumerable[T.any(Formula, Cask::Cask)],
full_name: T::Boolean, full_name: T::Boolean,
@ -72,7 +72,7 @@ module Homebrew
quiet: T::Boolean, quiet: T::Boolean,
verbose: T::Boolean, verbose: T::Boolean,
).void ).void
end }
def run_checks( def run_checks(
formulae_and_casks_to_check, formulae_and_casks_to_check,
full_name: false, json: false, newer_only: false, debug: false, quiet: false, verbose: false full_name: false, json: false, newer_only: false, debug: false, quiet: false, verbose: false
@ -260,7 +260,7 @@ module Homebrew
full_name ? formula.full_name : formula.name full_name ? formula.full_name : formula.name
end end
sig do sig {
params( params(
formula_or_cask: T.any(Formula, Cask::Cask), formula_or_cask: T.any(Formula, Cask::Cask),
status_str: String, status_str: String,
@ -268,7 +268,7 @@ module Homebrew
full_name: T::Boolean, full_name: T::Boolean,
verbose: T::Boolean, verbose: T::Boolean,
).returns(Hash) ).returns(Hash)
end }
def status_hash(formula_or_cask, status_str, messages = nil, full_name: false, verbose: false) def status_hash(formula_or_cask, status_str, messages = nil, full_name: false, verbose: false)
formula = formula_or_cask if formula_or_cask.is_a?(Formula) formula = formula_or_cask if formula_or_cask.is_a?(Formula)
cask = formula_or_cask if formula_or_cask.is_a?(Cask::Cask) cask = formula_or_cask if formula_or_cask.is_a?(Cask::Cask)
@ -311,12 +311,12 @@ module Homebrew
puts "#{formula_or_cask_s} : #{current_s} ==> #{latest_s}" puts "#{formula_or_cask_s} : #{current_s} ==> #{latest_s}"
end end
sig do sig {
params( params(
livecheck_url: T.any(String, Symbol), livecheck_url: T.any(String, Symbol),
formula_or_cask: T.any(Formula, Cask::Cask), formula_or_cask: T.any(Formula, Cask::Cask),
).returns(T.nilable(String)) ).returns(T.nilable(String))
end }
def livecheck_url_to_string(livecheck_url, formula_or_cask) def livecheck_url_to_string(livecheck_url, formula_or_cask)
case livecheck_url case livecheck_url
when String when String
@ -396,7 +396,7 @@ module Homebrew
# Identifies the latest version of the formula and returns a Hash containing # Identifies the latest version of the formula and returns a Hash containing
# the version information. Returns nil if a latest version couldn't be found. # the version information. Returns nil if a latest version couldn't be found.
sig do sig {
params( params(
formula_or_cask: T.any(Formula, Cask::Cask), formula_or_cask: T.any(Formula, Cask::Cask),
json: T::Boolean, json: T::Boolean,
@ -404,7 +404,7 @@ module Homebrew
verbose: T::Boolean, verbose: T::Boolean,
debug: T::Boolean, debug: T::Boolean,
).returns(T.nilable(Hash)) ).returns(T.nilable(Hash))
end }
def latest_version(formula_or_cask, json: false, full_name: false, verbose: false, debug: false) def latest_version(formula_or_cask, json: false, full_name: false, verbose: false, debug: false)
formula = formula_or_cask if formula_or_cask.is_a?(Formula) formula = formula_or_cask if formula_or_cask.is_a?(Formula)
cask = formula_or_cask if formula_or_cask.is_a?(Cask::Cask) cask = formula_or_cask if formula_or_cask.is_a?(Cask::Cask)

View File

@ -14,14 +14,14 @@ module Homebrew
module_function module_function
sig do sig {
params( params(
formula_or_cask: T.any(Formula, Cask::Cask), formula_or_cask: T.any(Formula, Cask::Cask),
livecheckable: T::Boolean, livecheckable: T::Boolean,
full_name: T::Boolean, full_name: T::Boolean,
verbose: T::Boolean, verbose: T::Boolean,
).returns(Hash) ).returns(Hash)
end }
def formula_or_cask_skip(formula_or_cask, livecheckable, full_name: false, verbose: false) def formula_or_cask_skip(formula_or_cask, livecheckable, full_name: false, verbose: false)
formula = formula_or_cask if formula_or_cask.is_a?(Formula) formula = formula_or_cask if formula_or_cask.is_a?(Formula)
@ -51,14 +51,14 @@ module Homebrew
Livecheck.status_hash(formula_or_cask, "skipped", skip_messages, full_name: full_name, verbose: verbose) Livecheck.status_hash(formula_or_cask, "skipped", skip_messages, full_name: full_name, verbose: verbose)
end end
sig do sig {
params( params(
formula: Formula, formula: Formula,
_livecheckable: T::Boolean, _livecheckable: T::Boolean,
full_name: T::Boolean, full_name: T::Boolean,
verbose: T::Boolean, verbose: T::Boolean,
).returns(Hash) ).returns(Hash)
end }
def formula_head_only(formula, _livecheckable, full_name: false, verbose: false) def formula_head_only(formula, _livecheckable, full_name: false, verbose: false)
return {} if !formula.head_only? || formula.any_version_installed? return {} if !formula.head_only? || formula.any_version_installed?
@ -71,84 +71,84 @@ module Homebrew
) )
end end
sig do sig {
params( params(
formula: Formula, formula: Formula,
livecheckable: T::Boolean, livecheckable: T::Boolean,
full_name: T::Boolean, full_name: T::Boolean,
verbose: T::Boolean, verbose: T::Boolean,
).returns(Hash) ).returns(Hash)
end }
def formula_deprecated(formula, livecheckable, full_name: false, verbose: false) def formula_deprecated(formula, livecheckable, full_name: false, verbose: false)
return {} if !formula.deprecated? || livecheckable return {} if !formula.deprecated? || livecheckable
Livecheck.status_hash(formula, "deprecated", full_name: full_name, verbose: verbose) Livecheck.status_hash(formula, "deprecated", full_name: full_name, verbose: verbose)
end end
sig do sig {
params( params(
formula: Formula, formula: Formula,
livecheckable: T::Boolean, livecheckable: T::Boolean,
full_name: T::Boolean, full_name: T::Boolean,
verbose: T::Boolean, verbose: T::Boolean,
).returns(Hash) ).returns(Hash)
end }
def formula_disabled(formula, livecheckable, full_name: false, verbose: false) def formula_disabled(formula, livecheckable, full_name: false, verbose: false)
return {} if !formula.disabled? || livecheckable return {} if !formula.disabled? || livecheckable
Livecheck.status_hash(formula, "disabled", full_name: full_name, verbose: verbose) Livecheck.status_hash(formula, "disabled", full_name: full_name, verbose: verbose)
end end
sig do sig {
params( params(
formula: Formula, formula: Formula,
livecheckable: T::Boolean, livecheckable: T::Boolean,
full_name: T::Boolean, full_name: T::Boolean,
verbose: T::Boolean, verbose: T::Boolean,
).returns(Hash) ).returns(Hash)
end }
def formula_versioned(formula, livecheckable, full_name: false, verbose: false) def formula_versioned(formula, livecheckable, full_name: false, verbose: false)
return {} if !formula.versioned_formula? || livecheckable return {} if !formula.versioned_formula? || livecheckable
Livecheck.status_hash(formula, "versioned", full_name: full_name, verbose: verbose) Livecheck.status_hash(formula, "versioned", full_name: full_name, verbose: verbose)
end end
sig do sig {
params( params(
cask: Cask::Cask, cask: Cask::Cask,
livecheckable: T::Boolean, livecheckable: T::Boolean,
full_name: T::Boolean, full_name: T::Boolean,
verbose: T::Boolean, verbose: T::Boolean,
).returns(Hash) ).returns(Hash)
end }
def cask_discontinued(cask, livecheckable, full_name: false, verbose: false) def cask_discontinued(cask, livecheckable, full_name: false, verbose: false)
return {} if !cask.discontinued? || livecheckable return {} if !cask.discontinued? || livecheckable
Livecheck.status_hash(cask, "discontinued", full_name: full_name, verbose: verbose) Livecheck.status_hash(cask, "discontinued", full_name: full_name, verbose: verbose)
end end
sig do sig {
params( params(
cask: Cask::Cask, cask: Cask::Cask,
livecheckable: T::Boolean, livecheckable: T::Boolean,
full_name: T::Boolean, full_name: T::Boolean,
verbose: T::Boolean, verbose: T::Boolean,
).returns(Hash) ).returns(Hash)
end }
def cask_version_latest(cask, livecheckable, full_name: false, verbose: false) def cask_version_latest(cask, livecheckable, full_name: false, verbose: false)
return {} if !(cask.present? && cask.version&.latest?) || livecheckable return {} if !(cask.present? && cask.version&.latest?) || livecheckable
Livecheck.status_hash(cask, "latest", full_name: full_name, verbose: verbose) Livecheck.status_hash(cask, "latest", full_name: full_name, verbose: verbose)
end end
sig do sig {
params( params(
cask: Cask::Cask, cask: Cask::Cask,
livecheckable: T::Boolean, livecheckable: T::Boolean,
full_name: T::Boolean, full_name: T::Boolean,
verbose: T::Boolean, verbose: T::Boolean,
).returns(Hash) ).returns(Hash)
end }
def cask_url_unversioned(cask, livecheckable, full_name: false, verbose: false) def cask_url_unversioned(cask, livecheckable, full_name: false, verbose: false)
return {} if !(cask.present? && cask.url&.unversioned?) || livecheckable return {} if !(cask.present? && cask.url&.unversioned?) || livecheckable
@ -175,13 +175,13 @@ module Homebrew
# If a formula/cask should be skipped, we return a hash from # If a formula/cask should be skipped, we return a hash from
# `Livecheck#status_hash`, which contains a `status` type and sometimes # `Livecheck#status_hash`, which contains a `status` type and sometimes
# error `messages`. # error `messages`.
sig do sig {
params( params(
formula_or_cask: T.any(Formula, Cask::Cask), formula_or_cask: T.any(Formula, Cask::Cask),
full_name: T::Boolean, full_name: T::Boolean,
verbose: T::Boolean, verbose: T::Boolean,
).returns(Hash) ).returns(Hash)
end }
def skip_information(formula_or_cask, full_name: false, verbose: false) def skip_information(formula_or_cask, full_name: false, verbose: false)
livecheckable = formula_or_cask.livecheckable? livecheckable = formula_or_cask.livecheckable?

View File

@ -77,14 +77,14 @@ module Homebrew
# @param provided_content [String] page content to use in place of # @param provided_content [String] page content to use in place of
# fetching via Strategy#page_content # fetching via Strategy#page_content
# @return [Hash] # @return [Hash]
sig do sig {
params( params(
url: String, url: String,
regex: T.nilable(Regexp), regex: T.nilable(Regexp),
provided_content: T.nilable(String), provided_content: T.nilable(String),
block: T.nilable(T.proc.params(arg0: String).returns(T.any(T::Array[String], String))), block: T.nilable(T.proc.params(arg0: String).returns(T.any(T::Array[String], String))),
).returns(T::Hash[Symbol, T.untyped]) ).returns(T::Hash[Symbol, T.untyped])
end }
def self.find_versions(url, regex, provided_content = nil, &block) def self.find_versions(url, regex, provided_content = nil, &block)
match_data = { matches: {}, regex: regex, url: url } match_data = { matches: {}, regex: regex, url: url }

View File

@ -64,7 +64,7 @@ class SystemCommand
result result
end end
sig do sig {
params( params(
executable: T.any(String, Pathname), executable: T.any(String, Pathname),
args: T::Array[T.any(String, Integer, Float, URI::Generic)], args: T::Array[T.any(String, Integer, Float, URI::Generic)],
@ -79,7 +79,7 @@ class SystemCommand
secrets: T.any(String, T::Array[String]), secrets: T.any(String, T::Array[String]),
chdir: T.any(String, Pathname), chdir: T.any(String, Pathname),
).void ).void
end }
def initialize(executable, args: [], sudo: false, env: {}, input: [], must_succeed: false, def initialize(executable, args: [], sudo: false, env: {}, input: [], must_succeed: false,
print_stdout: false, print_stderr: true, debug: nil, verbose: nil, secrets: [], chdir: T.unsafe(nil)) print_stdout: false, print_stderr: true, debug: nil, verbose: nil, secrets: [], chdir: T.unsafe(nil))
require "extend/ENV" require "extend/ENV"
@ -224,14 +224,14 @@ class SystemCommand
attr_accessor :command, :status, :exit_status attr_accessor :command, :status, :exit_status
sig do sig {
params( params(
command: T::Array[String], command: T::Array[String],
output: T::Array[[Symbol, String]], output: T::Array[[Symbol, String]],
status: Process::Status, status: Process::Status,
secrets: T::Array[String], secrets: T::Array[String],
).void ).void
end }
def initialize(command, output, status, secrets:) def initialize(command, output, status, secrets:)
@command = command @command = command
@output = output @output = output

View File

@ -22,10 +22,10 @@ module UnpackStrategy
private private
sig do sig {
override.params(unpack_dir: Pathname, basename: Pathname, verbose: T::Boolean) override.params(unpack_dir: Pathname, basename: Pathname, verbose: T::Boolean)
.returns(SystemCommand::Result) .returns(SystemCommand::Result)
end }
def extract_to_dir(unpack_dir, basename:, verbose:) def extract_to_dir(unpack_dir, basename:, verbose:)
quiet_flags = verbose ? [] : ["-qq"] quiet_flags = verbose ? [] : ["-qq"]
result = system_command! "unzip", result = system_command! "unzip",

View File

@ -49,14 +49,14 @@ module Utils
[processed_source, root_node] [processed_source, root_node]
end end
sig do sig {
params( params(
component_name: Symbol, component_name: Symbol,
component_type: Symbol, component_type: Symbol,
target_name: Symbol, target_name: Symbol,
target_type: T.nilable(Symbol), target_type: T.nilable(Symbol),
).returns(T::Boolean) ).returns(T::Boolean)
end }
def component_match?(component_name:, component_type:, target_name:, target_type: nil) def component_match?(component_name:, component_type:, target_name:, target_type: nil)
component_name == target_name && (target_type.nil? || component_type == target_type) component_name == target_name && (target_type.nil? || component_type == target_type)
end end

View File

@ -4,13 +4,13 @@
module Utils module Utils
extend T::Sig extend T::Sig
sig do sig {
params( params(
repo: T.any(String, Pathname), repo: T.any(String, Pathname),
length: T.nilable(Integer), length: T.nilable(Integer),
safe: T::Boolean, safe: T::Boolean,
).returns(T.nilable(String)) ).returns(T.nilable(String))
end }
def self.git_head(repo = Pathname.pwd, length: nil, safe: true) def self.git_head(repo = Pathname.pwd, length: nil, safe: true)
return git_short_head(repo, length: length) if length.present? return git_short_head(repo, length: length) if length.present?
@ -18,13 +18,13 @@ module Utils
repo.git_head(safe: safe) repo.git_head(safe: safe)
end end
sig do sig {
params( params(
repo: T.any(String, Pathname), repo: T.any(String, Pathname),
length: T.nilable(Integer), length: T.nilable(Integer),
safe: T::Boolean, safe: T::Boolean,
).returns(T.nilable(String)) ).returns(T.nilable(String))
end }
def self.git_short_head(repo = Pathname.pwd, length: nil, safe: true) def self.git_short_head(repo = Pathname.pwd, length: nil, safe: true)
repo = Pathname(repo).extend(GitRepositoryExtension) repo = Pathname(repo).extend(GitRepositoryExtension)
repo.git_short_head(length: length, safe: safe) repo.git_short_head(length: length, safe: safe)

View File

@ -31,12 +31,12 @@ module GitHub
path.realpath.relative_path_from(workspace) path.realpath.relative_path_from(workspace)
end end
sig do sig {
params( params(
type: Symbol, message: String, type: Symbol, message: String,
file: T.nilable(T.any(String, Pathname)), line: T.nilable(Integer), column: T.nilable(Integer) file: T.nilable(T.any(String, Pathname)), line: T.nilable(Integer), column: T.nilable(Integer)
).void ).void
end }
def initialize(type, message, file: nil, line: nil, column: nil) def initialize(type, message, file: nil, line: nil, column: nil)
raise ArgumentError, "Unsupported type: #{type.inspect}" unless [:warning, :error].include?(type) raise ArgumentError, "Unsupported type: #{type.inspect}" unless [:warning, :error].include?(type)

View File

@ -40,14 +40,14 @@ module Utils
# #
# @see StringInreplaceExtension # @see StringInreplaceExtension
# @api public # @api public
sig do sig {
params( params(
paths: T.any(T::Array[T.untyped], String, Pathname), paths: T.any(T::Array[T.untyped], String, Pathname),
before: T.nilable(T.any(Regexp, String)), before: T.nilable(T.any(Regexp, String)),
after: T.nilable(T.any(String, Symbol)), after: T.nilable(T.any(String, Symbol)),
audit_result: T::Boolean, audit_result: T::Boolean,
).void ).void
end }
def inreplace(paths, before = nil, after = nil, audit_result = true) # rubocop:disable Style/OptionalBooleanParameter def inreplace(paths, before = nil, after = nil, audit_result = true) # rubocop:disable Style/OptionalBooleanParameter
after = after.to_s if after.is_a? Symbol after = after.to_s if after.is_a? Symbol

View File

@ -119,7 +119,7 @@ module PyPI
end end
# Return true if resources were checked (even if no change). # Return true if resources were checked (even if no change).
sig do sig {
params( params(
formula: Formula, formula: Formula,
version: T.nilable(String), version: T.nilable(String),
@ -130,7 +130,7 @@ module PyPI
silent: T.nilable(T::Boolean), silent: T.nilable(T::Boolean),
ignore_non_pypi_packages: T.nilable(T::Boolean), ignore_non_pypi_packages: T.nilable(T::Boolean),
).returns(T.nilable(T::Boolean)) ).returns(T.nilable(T::Boolean))
end }
def update_python_resources!(formula, version: nil, package_name: nil, extra_packages: nil, exclude_packages: nil, def update_python_resources!(formula, version: nil, package_name: nil, extra_packages: nil, exclude_packages: nil,
print_only: false, silent: false, ignore_non_pypi_packages: false) print_only: false, silent: false, ignore_non_pypi_packages: false)

View File

@ -28,10 +28,10 @@ class StringInreplaceExtension
# Same as `String#gsub!`, but warns if nothing was replaced. # Same as `String#gsub!`, but warns if nothing was replaced.
# #
# @api public # @api public
sig do sig {
params(before: T.any(Regexp, String), after: T.nilable(String), audit_result: T::Boolean) params(before: T.any(Regexp, String), after: T.nilable(String), audit_result: T::Boolean)
.returns(T.nilable(String)) .returns(T.nilable(String))
end }
def gsub!(before, after, audit_result = true) # rubocop:disable Style/OptionalBooleanParameter def gsub!(before, after, audit_result = true) # rubocop:disable Style/OptionalBooleanParameter
result = inreplace_string.gsub!(before, after) result = inreplace_string.gsub!(before, after)
errors << "expected replacement of #{before.inspect} with #{after.inspect}" if audit_result && result.nil? errors << "expected replacement of #{before.inspect} with #{after.inspect}" if audit_result && result.nil?