diff --git a/railties/lib/rails/commands.rb b/railties/lib/rails/commands.rb index de93a876156739b925fdadd9892541edba89da1b..aad1170b563a25677a799e4cf4121f1e3d9f0a9e 100644 --- a/railties/lib/rails/commands.rb +++ b/railties/lib/rails/commands.rb @@ -38,6 +38,10 @@ 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' @@ -53,6 +57,8 @@ 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 diff --git a/railties/lib/rails/commands/application.rb b/railties/lib/rails/commands/application.rb index 8a8143e00e8c3654a52386237fd167392c2cf4b0..a3a5aed39974259994ed8b3ce4e0e884cdf41d94 100644 --- a/railties/lib/rails/commands/application.rb +++ b/railties/lib/rails/commands/application.rb @@ -4,7 +4,12 @@ exit(0) end -ARGV << "--help" if ARGV.empty? +if ARGV.first != "new" || ARGV.empty? + ARGV[0] = "--help" +else + ARGV.shift +end + require 'rubygems' if ARGV.include?("--dev") require 'rails/generators' diff --git a/railties/lib/rails/generators/rails/app/USAGE b/railties/lib/rails/generators/rails/app/USAGE index 36d6061a5990f859ca58f62c0dde9157c36d6c8b..9e7a78d132c8c1d25a54cbeb788ca92118c650e6 100644 --- a/railties/lib/rails/generators/rails/app/USAGE +++ b/railties/lib/rails/generators/rails/app/USAGE @@ -1,9 +1,9 @@ Description: - The 'rails' command creates a new Rails application with a default + The 'rails new' command creates a new Rails application with a default directory structure and configuration at the path you specify. Example: - rails ~/Code/Ruby/weblog + rails new ~/Code/Ruby/weblog This generates a skeletal Rails installation in ~/Code/Ruby/weblog. See the README in the newly created application to get going. diff --git a/railties/lib/rails/generators/rails/app/app_generator.rb b/railties/lib/rails/generators/rails/app/app_generator.rb index cd4a3dce4e015eebfecb370b9bc9db70f851bd60..fc971907df5ab859cb3c8e8bf962b38b735c432a 100644 --- a/railties/lib/rails/generators/rails/app/app_generator.rb +++ b/railties/lib/rails/generators/rails/app/app_generator.rb @@ -149,8 +149,7 @@ module Generators # can change in Ruby 1.8.7 when we FileUtils.cd. RAILS_DEV_PATH = File.expand_path("../../../../../..", File.dirname(__FILE__)) - RESERVED_NAMES = %w[generate g console c server s dbconsole db - application destroy benchmarker profiler + RESERVED_NAMES = %w[application destroy benchmarker profiler plugin runner test] class AppGenerator < Base