diff --git a/Library/Homebrew/requirement.rb b/Library/Homebrew/requirement.rb index 0d5f1df7e309d..d4d15b4f69ec7 100644 --- a/Library/Homebrew/requirement.rb +++ b/Library/Homebrew/requirement.rb @@ -61,8 +61,15 @@ def message s end - # Overriding {#satisfied?} is unsupported. - # Pass a block or boolean to the satisfy DSL method instead. + # Pass a block or boolean to the satisfy DSL method instead of overriding. + sig(:final) { + params( + env: T.nilable(String), + cc: T.nilable(String), + build_bottle: T::Boolean, + bottle_arch: T.nilable(String), + ).returns(T::Boolean) + } def satisfied?(env: nil, cc: nil, build_bottle: false, bottle_arch: nil) satisfy = self.class.satisfy return true unless satisfy @@ -76,8 +83,8 @@ def satisfied?(env: nil, cc: nil, build_bottle: false, bottle_arch: nil) true end - # Overriding {#fatal?} is unsupported. - # Pass a boolean to the fatal DSL method instead. + # Pass a boolean to the fatal DSL method instead of overriding. + sig(:final) { returns(T::Boolean) } def fatal? self.class.fatal || false end @@ -92,8 +99,15 @@ def satisfied_result_parent parent end - # Overriding {#modify_build_environment} is unsupported. - # Pass a block to the env DSL method instead. + # Pass a block to the env DSL method instead of overriding. + sig(:final) { + params( + env: T.nilable(String), + cc: T.nilable(String), + build_bottle: T::Boolean, + bottle_arch: T.nilable(String), + ).void + } def modify_build_environment(env: nil, cc: nil, build_bottle: false, bottle_arch: nil) satisfied?(env: env, cc: cc, build_bottle: build_bottle, bottle_arch: bottle_arch) instance_eval(&env_proc) if env_proc diff --git a/Library/Homebrew/test/requirement_spec.rb b/Library/Homebrew/test/requirement_spec.rb index 7b578004ede3b..f1a684e353f06 100644 --- a/Library/Homebrew/test/requirement_spec.rb +++ b/Library/Homebrew/test/requirement_spec.rb @@ -177,7 +177,7 @@ let(:klass) { Class.new(described_class) } it "returns nil" do - expect(requirement.modify_build_environment).to be_nil + expect { requirement.modify_build_environment }.not_to raise_error end end end