2009-11-03 11:35:11 +00:00
|
|
|
require 'devise/rails/routes'
|
2010-02-16 13:57:10 +00:00
|
|
|
require 'devise/rails/warden_compat'
|
|
|
|
|
|
|
|
module Devise
|
|
|
|
class Engine < ::Rails::Engine
|
2010-03-30 09:08:16 +00:00
|
|
|
config.devise = Devise
|
|
|
|
|
2010-07-17 07:43:35 +00:00
|
|
|
# Initialize Warden and copy its configurations.
|
2010-05-15 22:38:40 +00:00
|
|
|
config.app_middleware.use Warden::Manager do |config|
|
|
|
|
Devise.warden_config = config
|
2010-04-22 17:59:52 +00:00
|
|
|
end
|
|
|
|
|
2010-05-15 22:38:40 +00:00
|
|
|
# Force routes to be loaded if we are doing any eager load.
|
2011-09-24 00:13:39 +00:00
|
|
|
config.before_eager_load { |app| app.reload_routes! }
|
2010-04-03 11:11:45 +00:00
|
|
|
|
2010-07-13 08:09:55 +00:00
|
|
|
initializer "devise.url_helpers" do
|
2010-07-13 11:35:53 +00:00
|
|
|
Devise.include_helpers(Devise::Controllers)
|
2010-07-13 11:11:04 +00:00
|
|
|
end
|
2011-03-30 12:40:03 +00:00
|
|
|
|
2010-10-14 18:04:02 +00:00
|
|
|
initializer "devise.omniauth" do |app|
|
|
|
|
Devise.omniauth_configs.each do |provider, config|
|
|
|
|
app.middleware.use config.strategy_class, *config.args do |strategy|
|
|
|
|
config.strategy = strategy
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
if Devise.omniauth_configs.any?
|
|
|
|
Devise.include_helpers(Devise::OmniAuth)
|
|
|
|
end
|
|
|
|
end
|
2011-08-04 19:41:31 +00:00
|
|
|
|
|
|
|
initializer "devise.mongoid_version_warning" do
|
|
|
|
if defined?(Mongoid)
|
|
|
|
require 'mongoid/version'
|
|
|
|
if Mongoid::VERSION.to_f < 2.1
|
|
|
|
puts "\n[DEVISE] Please note that Mongoid versions prior to 2.1 handle dirty model " \
|
|
|
|
"object attributes in such a way that the Devise `validatable` module will not apply " \
|
|
|
|
"its usual uniqueness and format validations for the email field. It is recommended " \
|
|
|
|
"that you upgrade to Mongoid 2.1+ for this and other fixes, but if for some reason you " \
|
|
|
|
"are unable to do so, you should add these validations manually.\n"
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
2011-12-04 22:58:19 +00:00
|
|
|
|
|
|
|
initializer "devise.deprecations" do
|
2011-12-19 12:30:33 +00:00
|
|
|
unless defined?(Rails::Generators)
|
|
|
|
if Devise.case_insensitive_keys == false
|
|
|
|
warn "\n[DEVISE] Devise.case_insensitive_keys is false which is no longer " \
|
|
|
|
"supported. If you want to continue running on this mode, please ensure " \
|
|
|
|
"you are not using validatable (you can copy the validations directly to your model) " \
|
|
|
|
"and set case_insensitive_keys to an empty array.\n"
|
|
|
|
end
|
2011-12-04 22:58:19 +00:00
|
|
|
|
2011-12-19 12:30:33 +00:00
|
|
|
if Devise.apply_schema && defined?(Mongoid)
|
|
|
|
warn "\n[DEVISE] Devise.apply_schema is true. This means Devise was " \
|
|
|
|
"automatically configuring your DB. This no longer happens. You should " \
|
|
|
|
"set Devise.apply_schema to false and manually set the fields used by Devise as shown here: " \
|
|
|
|
"https://github.com/plataformatec/devise/wiki/How-To:-Upgrade-to-Devise-2.0-migration-schema-style\n"
|
|
|
|
end
|
2011-12-04 22:58:19 +00:00
|
|
|
|
2011-12-19 12:30:33 +00:00
|
|
|
# TODO: Deprecate the true value of this option as well
|
|
|
|
if Devise.use_salt_as_remember_token == false
|
|
|
|
warn "\n[DEVISE] Devise.use_salt_as_remember_token is false which is no longer " \
|
|
|
|
"supported. Devise now only uses the salt as remember token and the remember_token " \
|
|
|
|
"column can be removed from your models.\n"
|
|
|
|
end
|
2011-12-04 22:58:19 +00:00
|
|
|
|
2011-12-19 12:30:33 +00:00
|
|
|
if Devise.reset_password_within.nil?
|
|
|
|
warn "\n[DEVISE] Devise.reset_password_within is nil. Please set this value to " \
|
|
|
|
"an interval (for example, 6.hours) and add a reset_password_sent_at field to " \
|
|
|
|
"your Devise models (if they don't have one already).\n"
|
|
|
|
end
|
2011-12-04 22:58:19 +00:00
|
|
|
end
|
|
|
|
end
|
2010-02-16 13:57:10 +00:00
|
|
|
end
|
2010-09-17 23:58:32 +00:00
|
|
|
end
|