From 42d002702c65b58b21ee2b35bbc9aa1e8fb51c1d Mon Sep 17 00:00:00 2001 From: Vinicius Baggio Date: Wed, 23 Feb 2011 14:20:10 -0300 Subject: [PATCH] Considering namespaces while generating the routes. Closes #682 --- lib/generators/devise/devise_generator.rb | 4 +++- test/generators/devise_generator_test.rb | 6 ++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/lib/generators/devise/devise_generator.rb b/lib/generators/devise/devise_generator.rb index ae8e4c04..5d80a050 100644 --- a/lib/generators/devise/devise_generator.rb +++ b/lib/generators/devise/devise_generator.rb @@ -10,7 +10,9 @@ module Devise hook_for :orm def add_devise_routes - route "devise_for :#{table_name}" + devise_route = "devise_for :#{plural_name}" + devise_route += %Q(, :class_name => "#{class_name}") if class_name.include?("::") + route devise_route end end end diff --git a/test/generators/devise_generator_test.rb b/test/generators/devise_generator_test.rb index 2c2c7d5d..32b3f0f3 100644 --- a/test/generators/devise_generator_test.rb +++ b/test/generators/devise_generator_test.rb @@ -16,6 +16,12 @@ class DeviseGeneratorTest < Rails::Generators::TestCase assert_file "config/routes.rb", /devise_for :monsters/ end + test "route generation for namespaced model names" do + run_generator %w(monster/goblin name:string) + match = /devise_for :goblins, :class_name => "Monster::Goblin"/ + assert_file "config/routes.rb", match + end + def copy_routes routes = File.expand_path("../../rails_app/config/routes.rb", __FILE__) destination = File.join(destination_root, "config")