diff options
author | Pratik Naik <pratiknaik@gmail.com> | 2010-02-04 13:14:44 +0000 |
---|---|---|
committer | Pratik Naik <pratiknaik@gmail.com> | 2010-02-04 13:14:44 +0000 |
commit | 8260f0b40f8954f1822a0f856f7c0706afbba0bd (patch) | |
tree | 1ec6fe65274eeb87c2030ba2daa3e230a375e846 /railties/lib/rails/commands.rb | |
parent | 6241d4e5535190b817e546130cfe179b641da1ba (diff) | |
parent | 6d6e6105c074eb9f266619e77a0873635af94124 (diff) | |
download | rails-8260f0b40f8954f1822a0f856f7c0706afbba0bd.tar.gz rails-8260f0b40f8954f1822a0f856f7c0706afbba0bd.tar.bz2 rails-8260f0b40f8954f1822a0f856f7c0706afbba0bd.zip |
Merge remote branch 'mainstream/master'
Conflicts:
railties/guides/source/3_0_release_notes.textile
Diffstat (limited to 'railties/lib/rails/commands.rb')
-rw-r--r-- | railties/lib/rails/commands.rb | 82 |
1 files changed, 69 insertions, 13 deletions
diff --git a/railties/lib/rails/commands.rb b/railties/lib/rails/commands.rb index 841e98a0dc..4240038673 100644 --- a/railties/lib/rails/commands.rb +++ b/railties/lib/rails/commands.rb @@ -1,17 +1,73 @@ -commands = Dir["#{File.dirname(__FILE__)}/commands/*.rb"].collect { |file_path| File.basename(file_path).split(".").first } +if ARGV.empty? + ARGV << '--help' +end -if commands.include?(ARGV.first) - require "#{File.dirname(__FILE__)}/commands/#{ARGV.shift}" -else - puts <<-USAGE -The 'run' provides a unified access point for all the default Rails' commands. - -Usage: ./script/run <command> [OPTIONS] +HELP_TEXT = <<-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") + +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 -Examples: - ./script/run generate controller Admin - ./script/run process reaper -USAGE - puts "Choose: #{commands.join(", ")}" +case ARGV.shift +when 'g', 'generate' + require ENV_PATH + require 'rails/commands/generate' +when 'c', 'console' + require 'rails/commands/console' + require APP_PATH + Rails::Console.start(Rails::Application) +when 's', 'server' + require 'rails/commands/server' + Dir.chdir(ROOT_PATH) + Rails::Server.start +when 'db', 'dbconsole' + require 'rails/commands/dbconsole' + require APP_PATH + Rails::DBConsole.start(Rails::Application) + +when 'application' + require 'rails/commands/application' +when 'destroy' + require ENV_PATH + require 'rails/commands/destroy' +when 'benchmarker' + require ENV_PATH + require 'rails/commands/performance/benchmarker' +when 'profiler' + require ENV_PATH + require 'rails/commands/performance/profiler' +when 'plugin' + require APP_PATH + require 'rails/commands/plugin' +when 'runner' + require 'rails/commands/runner' + require ENV_PATH + + +when '--version', '-v' + puts "Rails #{Rails::VERSION::STRING}" +when '--help', '-h' + puts HELP_TEXT +when '--version', '-v' + ARGV.unshift '--version' + require 'rails/commands/application' +else + puts "Error: Command not recognized" + puts HELP_TEXT end
\ No newline at end of file |