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