Class: Appsignal::Hooks::PumaHook
- Inherits:
-
Hook
- Object
- Hook
- Appsignal::Hooks::PumaHook
show all
- Defined in:
- lib/appsignal/hooks/puma.rb
Instance Method Summary
collapse
Methods inherited from Hook
#installed?, register, #try_to_install
Instance Method Details
#dependencies_present? ⇒ Boolean
6
7
8
9
10
|
# File 'lib/appsignal/hooks/puma.rb', line 6
def dependencies_present?
defined?(::Puma) &&
::Puma.respond_to?(:cli_config) &&
::Puma.cli_config
end
|
#install ⇒ Object
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
# File 'lib/appsignal/hooks/puma.rb', line 12
def install
::Puma.cli_config.options[:before_worker_boot] ||= []
::Puma.cli_config.options[:before_worker_boot] << Proc.new do |id|
Appsignal.forked
end
::Puma.cli_config.options[:before_worker_shutdown] ||= []
::Puma.cli_config.options[:before_worker_shutdown] << Proc.new do |id|
Appsignal.stop('puma before_worker_shutdown')
end
::Puma::Cluster.class_eval do
alias stop_workers_without_appsignal stop_workers
def stop_workers
Appsignal.stop('puma cluster')
stop_workers_without_appsignal
end
end
end
|