Module: HelperClasses::Service
Instance Attribute Summary collapse
Attributes included from DPuts
#log_file, #logall_file, #max_msg_len, #mutex, #show_time, #silent, #terminal_width
Instance Method Summary
collapse
Methods included from DPuts
ddputs, dlog_msg, dp, dputs, dputs_func, dputs_getcaller, dputs_out, dputs_unfunc, dputs_write, log_msg, logfile_valid
Instance Attribute Details
#services ⇒ Object
Returns the value of attribute services.
6
7
8
|
# File 'lib/helper_classes/service.rb', line 6
def services
@services
end
|
#system ⇒ Object
Returns the value of attribute system.
6
7
8
|
# File 'lib/helper_classes/service.rb', line 6
def system
@system
end
|
Instance Method Details
#daemon_reload ⇒ Object
99
100
101
|
# File 'lib/helper_classes/service.rb', line 99
def daemon_reload
reload
end
|
#disable(service) ⇒ Object
87
88
89
90
91
92
|
# File 'lib/helper_classes/service.rb', line 87
def disable(service)
service_run(service, {ArchLinux: 'systemctl disable ##',
Ubuntu: nil,
MacOSX: nil}
)
end
|
#enable(service) ⇒ Object
80
81
82
83
84
85
|
# File 'lib/helper_classes/service.rb', line 80
def enable(service)
service_run(service, {ArchLinux: 'systemctl enable ##',
Ubuntu: nil,
MacOSX: nil}
)
end
|
#enable_start(service) ⇒ Object
103
104
105
106
|
# File 'lib/helper_classes/service.rb', line 103
def enable_start(service)
enable(service)
start(service)
end
|
#reload ⇒ Object
94
95
96
97
|
# File 'lib/helper_classes/service.rb', line 94
def reload
return unless @system == :ArchLinux
System.run_bool('/usr/bin/systemctl daemon-reload')
end
|
#restart(service) ⇒ Object
73
74
75
76
77
78
|
# File 'lib/helper_classes/service.rb', line 73
def restart(service)
service_run(service, {ArchLinux: 'systemctl restart ##',
Ubuntu: '/etc/init.d/## restart',
MacOSX: nil}
)
end
|
#service_get(service) ⇒ Object
26
27
28
29
30
31
32
|
# File 'lib/helper_classes/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) ⇒ Object
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
|
# File 'lib/helper_classes/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) ⇒ Object
59
60
61
62
63
64
|
# File 'lib/helper_classes/service.rb', line 59
def start(service)
service_run(service, {ArchLinux: 'systemctl start ##',
Ubuntu: '/etc/init.d/## start',
MacOSX: nil}
)
end
|
#stop(service) ⇒ Object
66
67
68
69
70
71
|
# File 'lib/helper_classes/service.rb', line 66
def stop(service)
service_run(service, {ArchLinux: 'systemctl stop ##',
Ubuntu: '/etc/init.d/## stop',
MacOSX: nil}
)
end
|
#stop_disable(service) ⇒ Object
108
109
110
111
|
# File 'lib/helper_classes/service.rb', line 108
def stop_disable(service)
disable(service)
stop(service)
end
|