diff options
author | David Heinemeier Hansson <david@loudthinking.com> | 2005-10-28 07:50:42 +0000 |
---|---|---|
committer | David Heinemeier Hansson <david@loudthinking.com> | 2005-10-28 07:50:42 +0000 |
commit | 9bafd3537554d07b96b9edf049ff48ce262c30ac (patch) | |
tree | 6b2de5a09ea32564cedddfba893284e980341c91 /railties | |
parent | bc73b838e04a13531523621b11083e9a371d778c (diff) | |
download | rails-9bafd3537554d07b96b9edf049ff48ce262c30ac.tar.gz rails-9bafd3537554d07b96b9edf049ff48ce262c30ac.tar.bz2 rails-9bafd3537554d07b96b9edf049ff48ce262c30ac.zip |
Fixed scaffold generator when started with only 1 parameter (closes #2609) [self@mattmower.com]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2780 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'railties')
-rw-r--r-- | railties/CHANGELOG | 2 | ||||
-rw-r--r-- | railties/lib/rails_generator/generators/components/scaffold/scaffold_generator.rb | 9 | ||||
-rw-r--r-- | railties/test/rails_generator_test.rb | 10 |
3 files changed, 20 insertions, 1 deletions
diff --git a/railties/CHANGELOG b/railties/CHANGELOG index 79c43bbe3e..cc536c3424 100644 --- a/railties/CHANGELOG +++ b/railties/CHANGELOG @@ -1,5 +1,7 @@ *SVN* +* Fixed scaffold generator when started with only 1 parameter #2609 [self@mattmower.com] + * rake should run functional tests even if the unit tests have failures [Jim Weirich] * Back off cleanpath to be symlink friendly. Closes #2533 [Nicholas Seckar] diff --git a/railties/lib/rails_generator/generators/components/scaffold/scaffold_generator.rb b/railties/lib/rails_generator/generators/components/scaffold/scaffold_generator.rb index 7987e888e0..7ac2ac76e9 100644 --- a/railties/lib/rails_generator/generators/components/scaffold/scaffold_generator.rb +++ b/railties/lib/rails_generator/generators/components/scaffold/scaffold_generator.rb @@ -46,9 +46,16 @@ class ScaffoldGenerator < Rails::Generator::NamedBase def initialize(runtime_args, runtime_options = {}) super - @controller_name = args.shift or (ActiveRecord::Base.pluralize_table_names ? @name.pluralize : @name) + + if runtime_args.length > 1 + @controller_name = runtime_args[1] + else + @controller_name = (ActiveRecord::Base.pluralize_table_names ? @name.pluralize : @name) + end + base_name, @controller_class_path, @controller_file_path, @controller_class_nesting, @controller_class_nesting_depth = extract_modules(@controller_name) @controller_class_name_without_nesting, @controller_singular_name, @controller_plural_name = inflect_names(base_name) + if @controller_class_nesting.empty? @controller_class_name = @controller_class_name_without_nesting else diff --git a/railties/test/rails_generator_test.rb b/railties/test/rails_generator_test.rb index 00cd94596b..23d843e879 100644 --- a/railties/test/rails_generator_test.rb +++ b/railties/test/rails_generator_test.rb @@ -92,4 +92,14 @@ class RailsGeneratorTest < Test::Unit::TestCase g = Rails::Generator::Base.instance('working', %w(admin/foo bar baz)) assert_equal g.singular_name, g.table_name end + + def test_scaffold_controller_name + # Default behaviour is use the model name + g = Rails::Generator::Base.instance('scaffold', %w(Product)) + assert_equal "Product", g.controller_name + + # When we specify a controller name make sure it sticks!! + g = Rails::Generator::Base.instance('scaffold', %w(Product Admin)) + assert_equal "Admin", g.controller_name + end end |