From 0d06ed6c79fd439a8b433adf97ad36666ab9aec9 Mon Sep 17 00:00:00 2001 From: Greg Cobb and Molly Trombley-McCann Date: Mon, 3 Mar 2014 09:30:00 -0800 Subject: [PATCH] WIP --- lib/generators/devise/views_generator.rb | 8 ++++++++ test/generators/views_generator_test.rb | 11 +++++++++++ 2 files changed, 19 insertions(+) diff --git a/lib/generators/devise/views_generator.rb b/lib/generators/devise/views_generator.rb index d8acdec6..12d138fd 100644 --- a/lib/generators/devise/views_generator.rb +++ b/lib/generators/devise/views_generator.rb @@ -1,4 +1,5 @@ require 'rails/generators/base' +require 'thor/base' module Devise module Generators @@ -28,6 +29,7 @@ module Devise end def copy_views + puts options view_directory :confirmations view_directory :passwords view_directory :registrations @@ -110,6 +112,12 @@ module Devise argument :scope, required: false, default: nil, desc: "The scope to copy views to" + method_options :specified_directories, required: false, + aliases: "-S", + desc: "Specify a subset of views to generate", + default: nil, + type: :array + invoke SharedViewsGenerator hook_for :form_builder, aliases: "-b", diff --git a/test/generators/views_generator_test.rb b/test/generators/views_generator_test.rb index ee9674c8..87a67d2a 100644 --- a/test/generators/views_generator_test.rb +++ b/test/generators/views_generator_test.rb @@ -36,6 +36,17 @@ class ViewsGeneratorTest < Rails::Generators::TestCase assert_files nil, mail_template_engine: "markerb" end + + test "Assert only views within specified directories" do + run_generator %w(-d sessions, registrations) + assert_file "app/views/devise/sessions/new.html.erb" + assert_file "app/views/devise/registrations/new.html.erb" + assert_file "app/views/devise/registrations/edit.html.erb" + assert_no_file "app/views/devise/confirmations/new.html.erb" + + #assert_shared_links + end + def assert_files(scope = nil, options={}) scope = "devise" if scope.nil? mail_template_engine = options[:mail_template_engine] || "html.erb"