Module: Dory::Systemd
- Defined in:
- lib/dory/systemd.rb
Class Method Summary collapse
- .has_systemd? ⇒ Boolean
- .set_systemd_service(service:, up:) ⇒ Object
- .systemd_service_enabled?(service) ⇒ Boolean
- .systemd_service_installed?(service) ⇒ Boolean
- .systemd_service_running?(service) ⇒ Boolean
Class Method Details
.has_systemd? ⇒ Boolean
5 6 7 |
# File 'lib/dory/systemd.rb', line 5 def self.has_systemd? Sh.run_command('which systemctl').success? end |
.set_systemd_service(service:, up:) ⇒ Object
24 25 26 27 28 |
# File 'lib/dory/systemd.rb', line 24 def self.set_systemd_service(service:, up:) action = up ? 'start' : 'stop' puts "Requesting sudo to #{action} #{service}".green Sh.run_command("sudo systemctl #{action} #{service}").success? end |
.systemd_service_enabled?(service) ⇒ Boolean
19 20 21 22 |
# File 'lib/dory/systemd.rb', line 19 def self.systemd_service_enabled?(service) return false unless self.has_systemd? !!(Sh.run_command("systemctl status #{service} | head -3").stdout.gsub(/Loaded.*?;/, '') =~ /^\s*enabled;/) end |
.systemd_service_installed?(service) ⇒ Boolean
9 10 11 12 |
# File 'lib/dory/systemd.rb', line 9 def self.systemd_service_installed?(service) return false unless self.has_systemd? !(Sh.run_command("systemctl status #{service} | head -1").stdout =~ /not-found/) end |
.systemd_service_running?(service) ⇒ Boolean
14 15 16 17 |
# File 'lib/dory/systemd.rb', line 14 def self.systemd_service_running?(service) return false unless self.has_systemd? !!(Sh.run_command("systemctl status #{service} | head -3").stdout =~ /Active:\s+active.*running/) end |