mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
4774680405
Also removed the limitation of not being able to call your new server any of the rails commands (generate, server, dbconsole, console etc) as there is no longer any ambiguity here. http://rails.lighthouseapp.com/projects/8994/tickets/4665 Signed-off-by: David Heinemeier Hansson <david@loudthinking.com>
73 lines
No EOL
2.1 KiB
Ruby
73 lines
No EOL
2.1 KiB
Ruby
ARGV << '--help' if ARGV.empty?
|
|
|
|
aliases = {
|
|
"g" => "generate",
|
|
"c" => "console",
|
|
"s" => "server",
|
|
"db" => "dbconsole"
|
|
}
|
|
|
|
command = ARGV.shift
|
|
command = aliases[command] || command
|
|
|
|
case command
|
|
when 'generate', 'destroy', 'plugin', 'benchmarker', 'profiler'
|
|
require APP_PATH
|
|
Rails::Application.require_environment!
|
|
require "rails/commands/#{command}"
|
|
|
|
when 'console'
|
|
require 'rails/commands/console'
|
|
require APP_PATH
|
|
Rails::Application.require_environment!
|
|
Rails::Console.start(Rails::Application)
|
|
|
|
when 'server'
|
|
require 'rails/commands/server'
|
|
Rails::Server.new.tap { |server|
|
|
require APP_PATH
|
|
Dir.chdir(Rails::Application.root)
|
|
server.start
|
|
}
|
|
|
|
when 'dbconsole'
|
|
require 'rails/commands/dbconsole'
|
|
require APP_PATH
|
|
Rails::DBConsole.start(Rails::Application)
|
|
|
|
when 'application', 'runner'
|
|
require "rails/commands/#{command}"
|
|
|
|
when 'new'
|
|
puts "Can't initialize a new Rails application within the directory of another, please change to a non-Rails directory first.\n"
|
|
puts "Type 'rails' for help."
|
|
|
|
when '--version', '-v'
|
|
ARGV.unshift '--version'
|
|
require 'rails/commands/application'
|
|
|
|
else
|
|
puts "Error: Command not recognized" unless %w(-h --help).include?(command)
|
|
puts <<-EOT
|
|
Usage: rails COMMAND [ARGS]
|
|
|
|
The most common rails commands are:
|
|
generate Generate new code (short-cut alias: "g")
|
|
console Start the Rails console (short-cut alias: "c")
|
|
server Start the Rails server (short-cut alias: "s")
|
|
dbconsole Start a console for the database specified in config/database.yml
|
|
(short-cut alias: "db")
|
|
new Create a new Rails application. "rails new my_app" creates a
|
|
new application called MyApp in "./my_app"
|
|
|
|
In addition to those, there are:
|
|
application Generate the Rails application code
|
|
destroy Undo code generated with "generate"
|
|
benchmarker See how fast a piece of code runs
|
|
profiler Get profile information from a piece of code
|
|
plugin Install a plugin
|
|
runner Run a piece of code in the application environment
|
|
|
|
All commands can be run with -h for more information.
|
|
EOT
|
|
end |