Module: Guard::Passenger::Runner

Defined in:
lib/guard/passenger/runner.rb

Constant Summary collapse

PASSENGER_VERSION =
Gem.latest_spec_for('passenger').version

Class Method Summary collapse

Class Method Details

.passenger_standalone_installed?Boolean

Returns:

  • (Boolean)


50
51
52
# File 'lib/guard/passenger/runner.rb', line 50

def passenger_standalone_installed?
  PASSENGER_VERSION >= Gem::Version.new('3')
end

.restart_passengerObject



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/guard/passenger/runner.rb', line 7

def restart_passenger
  if PASSENGER_VERSION >= Gem::Version.new('4.0.31')
    succeed = system("passenger-config restart-app #{ Dir.getwd }")
  else
    succeed = system("touch tmp/restart.txt")
  end

  if succeed
    UI.info "Passenger successfully restarted."
  else
    UI.error "Passenger failed to restart!"
    throw :task_has_failed
  end
  succeed
end

.start_passenger(cli, sudo = '') ⇒ Object



23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/guard/passenger/runner.rb', line 23

def start_passenger(cli, sudo = '')
  if passenger_standalone_installed?
    succeed = system("#{sudo} passenger start #{cli}".strip)
    if succeed
      UI.info "Passenger standalone started."
    else
      UI.error "Passenger standalone failed to start!"
      throw :task_has_failed
    end
    succeed
  else
    UI.error "Passenger standalone is not installed. You need at least Passenger version >= 3.0.0.\nPlease run 'gem install passenger' or add it to your Gemfile."
    throw :task_has_failed
  end
end

.stop_passenger(cli, sudo = '') ⇒ Object



39
40
41
42
43
44
45
46
47
48
# File 'lib/guard/passenger/runner.rb', line 39

def stop_passenger(cli, sudo = '')
  succeed = system("#{sudo} passenger stop #{cli}".strip)
  if succeed
    UI.info "Passenger standalone stopped."
  else
    UI.error "Passenger standalone failed to stop!"
    throw :task_has_failed
  end
  succeed
end