Merge pull request #20133 from Homebrew/requirements

requirements: set `typed: strict`
This commit is contained in:
Mike McQuaid 2025-06-17 18:37:48 +00:00 committed by GitHub
commit fb9d1c5a1c
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -1,4 +1,4 @@
# typed: true # rubocop:todo Sorbet/StrictSigil # typed: strict
# frozen_string_literal: true # frozen_string_literal: true
require "requirement" require "requirement"
@ -7,6 +7,7 @@ require "requirement"
class XcodeRequirement < Requirement class XcodeRequirement < Requirement
fatal true fatal true
sig { returns(T.nilable(String)) }
attr_reader :version attr_reader :version
satisfy(build_env: false) do satisfy(build_env: false) do
@ -14,8 +15,10 @@ class XcodeRequirement < Requirement
xcode_installed_version xcode_installed_version
end end
sig { params(tags: T::Array[String]).void }
def initialize(tags = []) def initialize(tags = [])
@version = tags.shift if tags.first.to_s.match?(/(\d\.)+\d/) version = tags.shift if tags.first.to_s.match?(/(\d\.)+\d/)
@version = T.let(version, T.nilable(String))
super super
end end
@ -53,6 +56,7 @@ class XcodeRequirement < Requirement
"#<#{self.class.name}: version>=#{@version.inspect} #{tags.inspect}>" "#<#{self.class.name}: version>=#{@version.inspect} #{tags.inspect}>"
end end
sig { returns(String) }
def display_s def display_s
return "#{name.capitalize} (on macOS)" unless @version return "#{name.capitalize} (on macOS)" unless @version