Skip to content

Commit cf6c5ac

Browse files
committed
extend/kernel: tighten type sig for ensure_formula_installed!
This does the same as #20356 for `ensure_formula_installed!`. See discussion at #20352. Unfortunately, one must still `require "formula"` before using this method because of the `returns(Formula)`, but tightening the type signature is generally a good idea anyway. Closes #20352.
1 parent 2951272 commit cf6c5ac

File tree

2 files changed

+5
-10
lines changed

2 files changed

+5
-10
lines changed

Library/Homebrew/dev-cmd/bottle.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -354,7 +354,7 @@ def gnu_tar_formula_ensure_installed_if_needed!
354354
end
355355
return if gnu_tar_formula.blank?
356356

357-
ensure_formula_installed!(gnu_tar_formula, reason: "bottling")
357+
ensure_formula_installed!(gnu_tar_formula.name, reason: "bottling")
358358

359359
gnu_tar_formula
360360
end

Library/Homebrew/extend/kernel.rb

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -442,10 +442,10 @@ def redirect_stdout(file)
442442
# Ensure the given formula is installed
443443
# This is useful for installing a utility formula (e.g. `shellcheck` for `brew style`)
444444
sig {
445-
params(formula_or_name: T.any(String, Formula), reason: String, latest: T::Boolean, output_to_stderr: T::Boolean,
445+
params(formula_name: String, reason: String, latest: T::Boolean, output_to_stderr: T::Boolean,
446446
quiet: T::Boolean).returns(Formula)
447447
}
448-
def ensure_formula_installed!(formula_or_name, reason: "", latest: false,
448+
def ensure_formula_installed!(formula_name, reason: "", latest: false,
449449
output_to_stderr: true, quiet: false)
450450
if output_to_stderr || quiet
451451
file = if quiet
@@ -455,19 +455,14 @@ def ensure_formula_installed!(formula_or_name, reason: "", latest: false,
455455
end
456456
# Call this method itself with redirected stdout
457457
redirect_stdout(file) do
458-
return ensure_formula_installed!(formula_or_name, latest:,
458+
return ensure_formula_installed!(formula_name, latest:,
459459
reason:, output_to_stderr: false)
460460
end
461461
end
462462

463463
require "formula"
464464

465-
formula = if formula_or_name.is_a?(Formula)
466-
formula_or_name
467-
else
468-
Formula[formula_or_name]
469-
end
470-
465+
formula = Formula[formula_name]
471466
reason = " for #{reason}" if reason.present?
472467

473468
unless formula.any_version_installed?

0 commit comments

Comments
 (0)