Class: Appsignal::Hooks::PumaHook
- Defined in:
- lib/appsignal/hooks/puma.rb
Instance Method Summary collapse
Methods inherited from Hook
#initialize, #installed?, register, #try_to_install
Constructor Details
This class inherits a constructor from Appsignal::Hooks::Hook
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.[:before_worker_boot] ||= [] ::Puma.cli_config.[:before_worker_boot] << Proc.new do |id| Appsignal.forked end ::Puma.cli_config.[:before_worker_shutdown] ||= [] ::Puma.cli_config.[: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 |