lib/generators/devise/config/config_generator.rb in cream-0.8.2 vs lib/generators/devise/config/config_generator.rb in cream-0.8.3

- old
+ new

@@ -8,24 +8,25 @@ module Generators class ConfigGenerator < Rails::Generators::Base desc "Configure Devise" # ORM to use - class_option :orm, :type => :string, :default => 'active_record', :desc => "ORM to use" - class_option :logfile, :type => :string, :default => nil, :desc => "Logfile location" - class_option :gems, :type => :boolean, :default => true, :desc => "Add gems to gemfile?" + class_option :orm, :type => :string, :default => 'active_record', :desc => "ORM to use" + class_option :logfile, :type => :string, :default => nil, :desc => "Logfile location" + class_option :gems, :type => :boolean, :default => true, :desc => "Add gems to gemfile?" + class_option :admin_user, :type => :boolean, :default => false, :desc => "Setup for admin user" def configure_devise logger.add_logfile :logfile => logfile if logfile if gems? devise_gems else say "WARNING: Not configuring devise gems for #{orm}", :yellow end devise_install - [:orm, :mailer, :protection].each{|m| send(:"#{m}_configure!", orm) } + [:orm, :mailer, :protection, :routes].each{|m| send(:"#{m}_configure!", orm) } end protected include Rails3::Assist::BasicLogger @@ -117,9 +118,25 @@ if orm.to_sym == :mongoid rgen 'mongoid:config' rgen "devise mongoid" end end + + def routes_configure! + insert_into_routes do + "devise_for #{model_routes}" + end + end + + def admin_user? + options[:admin_user] + end + + def model_routes + return ':users, :admins' if admin_user? + ':users' + end + def protection_configure! orm logger.debug "Configuring: devise authentication filter" ## Add Devise protection to Application controller: insert_into_controller :application do \ No newline at end of file