Module: Utils::Service Private
- Defined in:
- utils/service.rb
Overview
This module is part of a private API. This module may only be used in the Homebrew/brew repository. Third parties should avoid using this module if possible, as it may be removed or changed without warning.
Helpers for brew services
related code.
Class Method Summary collapse
-
.installed?(formula) ⇒ Boolean
private
Check if a service file is installed in the expected location.
-
.launchctl ⇒ Pathname?
private
Path to launchctl binary.
- .launchctl? ⇒ Boolean private
-
.running?(formula) ⇒ Boolean
private
Check if a service is running for a specified formula.
-
.systemctl ⇒ Pathname?
private
Path to systemctl binary.
- .systemctl? ⇒ Boolean private
Class Method Details
.installed?(formula) ⇒ Boolean
This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.
Check if a service file is installed in the expected location.
19 20 21 22 |
# File 'utils/service.rb', line 19 def self.installed?(formula) (launchctl? && formula.launchd_service_path.exist?) || (systemctl? && formula.systemd_service_path.exist?) end |
.launchctl ⇒ Pathname?
This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.
Path to launchctl binary.
26 27 28 29 30 31 |
# File 'utils/service.rb', line 26 def self.launchctl return @launchctl if defined? @launchctl return if ENV["HOMEBREW_TEST_GENERIC_OS"] @launchctl = T.let(which("launchctl"), T.nilable(Pathname)) end |
.launchctl? ⇒ Boolean
This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.
43 44 45 |
# File 'utils/service.rb', line 43 def self.launchctl? !launchctl.nil? end |
.running?(formula) ⇒ Boolean
This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.
Check if a service is running for a specified formula.
9 10 11 12 13 14 15 |
# File 'utils/service.rb', line 9 def self.running?(formula) if launchctl? quiet_system(launchctl, "list", formula.plist_name) elsif systemctl? quiet_system(systemctl, "is-active", "--quiet", formula.service_name) end end |
.systemctl ⇒ Pathname?
This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.
Path to systemctl binary.
35 36 37 38 39 40 |
# File 'utils/service.rb', line 35 def self.systemctl return @systemctl if defined? @systemctl return if ENV["HOMEBREW_TEST_GENERIC_OS"] @systemctl = T.let(which("systemctl"), T.nilable(Pathname)) end |
.systemctl? ⇒ Boolean
This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.
48 49 50 |
# File 'utils/service.rb', line 48 def self.systemctl? !systemctl.nil? end |