Class: Capistrano::Puma::Monit

Inherits:
Capistrano::Plugin
  • Object
show all
Includes:
Capistrano::PumaCommon
Defined in:
lib/capistrano/puma/monit.rb

Instance Method Summary collapse

Methods included from Capistrano::PumaCommon

#puma_bind, #puma_switch_user, #puma_user, #template_puma

Instance Method Details

#define_tasksObject



9
10
11
# File 'lib/capistrano/puma/monit.rb', line 9

def define_tasks
  eval_rakefile File.expand_path('../../tasks/monit.rake', __FILE__)
end

#puma_monit_service_nameObject



19
20
21
# File 'lib/capistrano/puma/monit.rb', line 19

def puma_monit_service_name
  fetch(:puma_monit_service_name, "puma_#{fetch(:application)}_#{fetch(:stage)}")
end

#register_hooksObject



4
5
6
7
# File 'lib/capistrano/puma/monit.rb', line 4

def register_hooks
  before 'deploy:updating', 'puma:monit:unmonitor'
  after 'deploy:published', 'puma:monit:monitor'
end

#set_defaultsObject



13
14
15
16
17
# File 'lib/capistrano/puma/monit.rb', line 13

def set_defaults
  set_if_empty :puma_monit_conf_dir, -> { "/etc/monit/conf.d/#{puma_monit_service_name}.conf" }
  set_if_empty :puma_monit_use_sudo, true
  set_if_empty :puma_monit_bin, '/usr/bin/monit'
end

#sudo_if_needed(command) ⇒ Object



23
24
25
26
27
28
29
30
31
32
# File 'lib/capistrano/puma/monit.rb', line 23

def sudo_if_needed(command)
  if fetch(:puma_monit_use_sudo)
    backend.sudo command
  else
    puma_role = fetch(:puma_role)
    backend.on(puma_role) do
      backend.execute command
    end
  end
end