aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRafael Mendonça França <rafaelmfranca@gmail.com>2014-06-24 14:12:44 -0300
committerRafael Mendonça França <rafaelmfranca@gmail.com>2014-06-24 14:12:44 -0300
commit5ee87777af0d2baa8bd6e6578a9ab96f70e718f9 (patch)
tree5f291cfb98c7740528e7d17dc2d075b58744cd7f
parent44c9489a687016c599a2470ee06885c431b7b810 (diff)
parent4b173b8ed90cb409c1cdfb922914b41b5e212cb6 (diff)
downloadrails-5ee87777af0d2baa8bd6e6578a9ab96f70e718f9.tar.gz
rails-5ee87777af0d2baa8bd6e6578a9ab96f70e718f9.tar.bz2
rails-5ee87777af0d2baa8bd6e6578a9ab96f70e718f9.zip
Merge pull request #15885 from lucasmazza/lm-skip-routes
Add a '--skip-routes' flag for the Controller generator.
-rw-r--r--railties/lib/rails/generators/rails/controller/controller_generator.rb8
-rw-r--r--railties/test/generators/controller_generator_test.rb7
2 files changed, 13 insertions, 2 deletions
diff --git a/railties/lib/rails/generators/rails/controller/controller_generator.rb b/railties/lib/rails/generators/rails/controller/controller_generator.rb
index 7588a558e7..fbecab1823 100644
--- a/railties/lib/rails/generators/rails/controller/controller_generator.rb
+++ b/railties/lib/rails/generators/rails/controller/controller_generator.rb
@@ -2,6 +2,8 @@ module Rails
module Generators
class ControllerGenerator < NamedBase # :nodoc:
argument :actions, type: :array, default: [], banner: "action action"
+ class_option :skip_routes, type: :boolean, desc: "Dont' add routes to config/routes.rb."
+
check_class_collision suffix: "Controller"
def create_controller_files
@@ -9,8 +11,10 @@ module Rails
end
def add_routes
- actions.reverse.each do |action|
- route generate_routing_code(action)
+ unless options[:skip_routes]
+ actions.reverse.each do |action|
+ route generate_routing_code(action)
+ end
end
end
diff --git a/railties/test/generators/controller_generator_test.rb b/railties/test/generators/controller_generator_test.rb
index 4b2f8539d0..c906d56b8f 100644
--- a/railties/test/generators/controller_generator_test.rb
+++ b/railties/test/generators/controller_generator_test.rb
@@ -70,6 +70,13 @@ class ControllerGeneratorTest < Rails::Generators::TestCase
assert_file "config/routes.rb", /get 'account\/foo'/, /get 'account\/bar'/
end
+ def test_skip_routes
+ run_generator ["account", "foo", "--skip-routes"]
+ assert_file "config/routes.rb" do |routes|
+ assert_no_match /get 'account\/foo'/, routes
+ end
+ end
+
def test_invokes_default_template_engine_even_with_no_action
run_generator ["account"]
assert_file "app/views/account"