Class: Ramaze::Bin::Restart
Overview
Restarts an application based on a specified directory/rackup file and PID. The PID is used to kill the process, the Rackup file is used to start the process again after it has been killed.
Usage
ramaze restart
ramaze restart /home/foobar/projects/ramaze/ \
-P /home/foobar/projects/ramaze/ramaze.pid
Constant Summary
- Description =
The description of this command, displayed in the global help message.
'Restarts an application'- Banner =
The banner, displayed when the -h or --help option is specified.
<<-TXT.strip Restarts an active Ramaze application. Usage: ramaze restart [RACKUP] [OPTIONS] Example: ramaze restart config.ru -P ramaze.pid TXT
Instance Method Summary (collapse)
-
- (Restart) initialize
constructor
Creates a new instance of the command and sets all the options.
-
- (Object) run(argv = [])
Runs the command based on the specified command line arguments.
Constructor Details
- (Restart) initialize
Creates a new instance of the command and sets all the options.
39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
# File 'lib/ramaze/bin/restart.rb', line 39 def initialize @options = OptionParser.new do |opt| opt. = Banner opt.summary_indent = ' ' opt.separator "\nOptions:\n" opt.on('-h', '--help', 'Shows this help message') do puts @options exit end opt.on( '-P', '--pid FILE', 'Uses the PID to kill the application' ) do |pid| @pid = pid end end end |
Instance Method Details
- (Object) run(argv = [])
Runs the command based on the specified command line arguments.
68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 |
# File 'lib/ramaze/bin/restart.rb', line 68 def run(argv = []) @options.parse!(argv) @rackup = argv.delete_at(0) @rackup = File.join(Dir.pwd, 'config.ru') if @rackup.nil? if File.directory?(@rackup) @rackup = File.join(@rackup, 'config.ru') end if !File.exist?(@rackup) abort "The Rackup file #{@rackup} does not exist" end stop = Ramaze::Bin::Runner::Commands[:stop].new start = Ramaze::Bin::Runner::Commands[:start].new params = [@rackup] unless @pid.nil? params.push("-P #{@pid}") end stop.run([@pid]) start.run(params) end |