From 62de156c406c05cfda24db4f9ee9d2a65cc0c8e4 Mon Sep 17 00:00:00 2001 From: apainintheneck Date: Fri, 11 Mar 2022 12:42:41 -0800 Subject: [PATCH] Added Service#keep_alive? method --- Library/Homebrew/service.rb | 8 ++++++++ Library/Homebrew/test/service_spec.rb | 28 +++++++++++++++++++++++++++ 2 files changed, 36 insertions(+) diff --git a/Library/Homebrew/service.rb b/Library/Homebrew/service.rb index 2a870048ed..8a40f3d919 100644 --- a/Library/Homebrew/service.rb +++ b/Library/Homebrew/service.rb @@ -112,6 +112,14 @@ module Homebrew end end + # Returns a `Boolean` describing if a service is set to be kept alive. + # @return [Boolean] + sig { returns(T::Boolean) } + def keep_alive? + instance_eval(&@service_block) + @keep_alive == true + end + sig { params(value: T.nilable(T::Boolean)).returns(T.nilable(T::Boolean)) } def launch_only_once(value = nil) case T.unsafe(value) diff --git a/Library/Homebrew/test/service_spec.rb b/Library/Homebrew/test/service_spec.rb index c22528addc..7a55c9ac3b 100644 --- a/Library/Homebrew/test/service_spec.rb +++ b/Library/Homebrew/test/service_spec.rb @@ -425,6 +425,34 @@ describe Homebrew::Service do end end + describe "#keep_alive?" do + it "returns true when keep_alive set to true" do + f.class.service do + run [opt_bin/"beanstalkd", "test"] + keep_alive true + end + + expect(f.service.keep_alive?).to be(true) + end + + it "returns false when keep_alive not set" do + f.class.service do + run [opt_bin/"beanstalkd", "test"] + end + + expect(f.service.keep_alive?).to be(false) + end + + it "returns false when keep_alive set to false" do + f.class.service do + run [opt_bin/"beanstalkd", "test"] + keep_alive false + end + + expect(f.service.keep_alive?).to be(false) + end + end + describe "#command" do it "returns @run data" do f.class.service do