Class: PhusionPassenger::Standalone::Main

Inherits:
Object
  • Object
show all
Defined in:
lib/phusion_passenger/standalone/main.rb

Constant Summary

COMMANDS =
[
	['start',   'StartCommand'],
	['stop',    'StopCommand'],
	['status',  'StatusCommand'],
	['package-runtime', 'PackageRuntimeCommand'],
	['version', 'VersionCommand'],
	['help',    'HelpCommand']
]

Class Method Summary (collapse)

Instance Method Summary (collapse)

Class Method Details

+ (Object) each_command



42
43
44
45
46
47
48
49
50
# File 'lib/phusion_passenger/standalone/main.rb', line 42

def self.each_command
	COMMANDS.each do |command_spec|
		command_name = command_spec[0]
		filename     = command_name.sub(/-/, '_') + "_command"
		require "phusion_passenger/standalone/#{filename}"
		command_class = Standalone.const_get(command_spec[1])
		yield(command_name, command_class)
	end
end

+ (Object) run!(argv)



38
39
40
# File 'lib/phusion_passenger/standalone/main.rb', line 38

def self.run!(argv)
	new.run!(argv)
end

Instance Method Details

- (Object) run!(argv)



52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
# File 'lib/phusion_passenger/standalone/main.rb', line 52

def run!(argv)
	command = argv[0]
	if command.nil? || command == '-h' || command == '--help'
		run_command('help')
		exit
	elsif command == '-v' || command == '--version'
		run_command('version')
		exit
	elsif command_exists?(command)
		begin
			run_command(command, argv[1..-1])
		rescue => e
			if defined?(OptionParser::ParseError) && e.is_a?(OptionParser::ParseError)
				puts e
				puts
				puts "Please see '--help' for valid options."
				exit 1
			elsif defined?(ConfigFile::DisallowedContextError) && e.is_a?(ConfigFile::DisallowedContextError)
				puts "*** Error in #{e.filename} line #{e.line}:"
				puts e
				exit 1
			else
				raise e
			end
		end
	else
		STDERR.puts "Unknown command '#{command}'. Please type --help for options."
		exit 1
	end
end