"rails new -h" shows message in rails directory

This commit is contained in:
ask
2012-04-09 22:26:52 +06:00
committed by Piotr Sarnacki
parent efa9a1ff8b
commit 2f9fdbfb94
2 changed files with 17 additions and 3 deletions

View File

@@ -64,9 +64,13 @@ 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."
exit(1)
if ARGV.first.in?(['-h', '--help'])
require 'rails/commands/application'
else
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."
exit(1)
end
when '--version', '-v'
ARGV.unshift '--version'

View File

@@ -84,6 +84,16 @@ class AppGeneratorTest < Rails::Generators::TestCase
assert_equal false, $?.success?
end
def test_application_new_show_help_message_inside_existing_rails_directory
app_root = File.join(destination_root, 'myfirstapp')
run_generator [app_root]
output = Dir.chdir(app_root) do
`rails new --help`
end
assert_match /rails new APP_PATH \[options\]/, output
assert_equal true, $?.success?
end
def test_application_name_is_detected_if_it_exists_and_app_folder_renamed
app_root = File.join(destination_root, "myapp")
app_moved_root = File.join(destination_root, "myapp_moved")