From 8c73d3e2373aa8b364490515d270ac4e290c90f1 Mon Sep 17 00:00:00 2001 From: Logan Lowell Date: Tue, 29 May 2012 12:08:29 -0500 Subject: [PATCH] Add Devise scroll, with optional scoped views. --- scrolls/devise.rb | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 scrolls/devise.rb diff --git a/scrolls/devise.rb b/scrolls/devise.rb new file mode 100644 index 0000000..c1cbdc5 --- /dev/null +++ b/scrolls/devise.rb @@ -0,0 +1,47 @@ +gem 'devise' + + +after_bundler do + generate "devise:install" + + if config['scoped_views'] + gsub_file "config/initializers/devise.rb", /# config\.scoped_views = false/, 'config.scoped_views = true' + + config['resources'].split.each do |resource| + generate "devise #{resource}" + generate "devise:views #{resource}" + end + else + generate "devise #{config['resource']}" + generate "devise:views #{config['resource']}" + end +end + +after_everything do + inject_into_file 'config/environments/development.rb', "\nconfig.action_mailer.default_url_options = { :host => 'localhost:3000' }\n", :after => "Application.configure do" + inject_into_file 'config/environments/test.rb', "\nconfig.action_mailer.default_url_options = { :host => 'localhost:7000' }\n", :after => "Application.configure do" + inject_into_file 'config/environments/production.rb', "\nconfig.action_mailer.default_url_options = { :host => '#{@name}.com' }\n", :after => "Application.configure do" + + inject_into_file 'config/routes.rb', "\n root :to => 'home#index'\n", :after => "#{@name}::Application.routes.draw do" +end + +__END__ + +name: Devise +description: "Flexible authentication solution for Rails with Warden." +author: fractaloop + +category: authentication + +config: + - scoped_views: + type: boolean + prompt: "Is there more than 1 Devise resource?" + - resources: + type: string + prompt: "List all the resources separated by spaces:" + if: scoped_views + - resource: + type: string + prompt: "What is the Devise model named?" + unless: scoped_views \ No newline at end of file