Parent

Included Modules

Mongrel::Command::Registry

A Singleton class that manages all of the available commands and handles running them.

Public Instance Methods

commands() click to toggle source

Builds a list of possible commands from the Command derivates list

     # File lib/mongrel/command.rb, line 148
148:       def commands
149:         pmgr = GemPlugin::Manager.instance
150:         list = pmgr.plugins["/commands"].keys
151:         return list.sort
152:       end
run(args) click to toggle source

Runs the args against the first argument as the command name. If it has any errors it returns a false, otherwise it return true.

     # File lib/mongrel/command.rb, line 173
173:       def run(args)
174:         # find the command
175:         cmd_name = args.shift
176: 
177:         if !cmd_name or cmd_name == "?" or cmd_name == "help"
178:           print_command_list
179:           return true
180:         elsif cmd_name == "--version"
181:           puts "Mongrel Web Server #{Mongrel::Const::MONGREL_VERSION}"
182:           return true
183:         end
184: 
185:         begin
186:           # quick hack so that existing commands will keep working but the Mongrel:: ones can be moved
187:           if ["start", "stop", "restart"].include? cmd_name
188:             cmd_name = "mongrel::" + cmd_name
189:           end
190: 
191:           command = GemPlugin::Manager.instance.create("/commands/#{cmd_name}", :argv => args)
192:         rescue OptionParser::InvalidOption
193:           STDERR.puts "#$! for command '#{cmd_name}'"
194:           STDERR.puts "Try #{cmd_name} -h to get help."
195:           return false
196:         rescue
197:           STDERR.puts "ERROR RUNNING '#{cmd_name}': #$!"
198:           STDERR.puts "Use help command to get help"
199:           return false
200:         end
201: 
202:         # Normally the command is NOT valid right after being created
203:         # but sometimes (like with -h or -v) there's no further processing
204:         # needed so the command is already valid so we can skip it.
205:         if not command.done_validating
206:           if not command.validate
207:             STDERR.puts "#{cmd_name} reported an error. Use mongrel_rails #{cmd_name} -h to get help."
208:             return false
209:           else
210:             command.run
211:           end
212:         end
213: 
214:         return true
215:       end

Disabled; run with --debug to generate this.

[Validate]

Generated with the Darkfish Rdoc Generator 1.1.6.