module HelperClasses::Service
Attributes
services[RW]
system[RW]
Public Instance Methods
disable(service)
click to toggle source
# File lib/helperclasses/service.rb, line 87 def disable(service) service_run(service, {ArchLinux: 'systemctl disable ##', Ubuntu: nil, MacOSX: nil} ) end
enable(service)
click to toggle source
# File lib/helperclasses/service.rb, line 80 def enable(service) service_run(service, {ArchLinux: 'systemctl enable ##', Ubuntu: nil, MacOSX: nil} ) end
enable_start(service)
click to toggle source
# File lib/helperclasses/service.rb, line 94 def enable_start(service) enable(service) start(service) end
restart(service)
click to toggle source
# File lib/helperclasses/service.rb, line 73 def restart(service) service_run(service, {ArchLinux: 'systemctl restart ##', Ubuntu: '/etc/init.d/## restart', MacOSX: nil} ) end
service_get(service)
click to toggle source
# File lib/helperclasses/service.rb, line 26 def service_get(service) begin @services[service.to_sym][@system] rescue NoMethodError => _e service.to_s end end
service_run(service, cmd)
click to toggle source
# File lib/helperclasses/service.rb, line 34 def service_run(service, cmd) return unless @system if !cmd log_msg :Services, "System #{@system} can't start services" return false end service_name = service_get(service) if !service_name log_msg :Services, "System #{@system} doesn't have service #{service}" return false end cmd_system = cmd[@system] if !cmd_system log_msg :Services, "System #{@system} doesn't know how to do #{cmd}" return false end [service_name].flatten.each { |s| c = cmd_system.sub(/##/, s) if !System.run_bool(c) log_msg :Services, "Command #{c} failed" return false end } end
start(service)
click to toggle source
# File lib/helperclasses/service.rb, line 59 def start(service) service_run(service, {ArchLinux: 'systemctl start ##', Ubuntu: '/etc/init.d/## start', MacOSX: nil} ) end
stop(service)
click to toggle source
# File lib/helperclasses/service.rb, line 66 def stop(service) service_run(service, {ArchLinux: 'systemctl stop ##', Ubuntu: '/etc/init.d/## stop', MacOSX: nil} ) end
stop_disable(service)
click to toggle source
# File lib/helperclasses/service.rb, line 99 def stop_disable(service) disable(service) stop(service) end