diff --git a/README.rdoc b/README.rdoc index 706a14b7..013c167e 100644 --- a/README.rdoc +++ b/README.rdoc @@ -27,7 +27,7 @@ All gems are on gemcutter, so you need to add gemcutter to your sources if you h sudo gem sources -a http://gemcutter.org/ -Install warden gem if you don't have it installed (requires 0.5.0 or higher): +Install warden gem if you don't have it installed (requires 0.5.1 or higher): sudo gem install warden diff --git a/Rakefile b/Rakefile index 629ca69b..be71f15b 100644 --- a/Rakefile +++ b/Rakefile @@ -36,7 +36,7 @@ begin s.description = "Flexible authentication solution for Rails with Warden" s.authors = ['José Valim', 'Carlos Antônio'] s.files = FileList["[A-Z]*", "{app,config,lib}/**/*", "init.rb"] - s.add_dependency("warden", "~> 0.5.0") + s.add_dependency("warden", "~> 0.5.1") end Jeweler::GemcutterTasks.new diff --git a/lib/devise/models/authenticable.rb b/lib/devise/models/authenticable.rb index c4760174..bee94fe0 100644 --- a/lib/devise/models/authenticable.rb +++ b/lib/devise/models/authenticable.rb @@ -1,4 +1,5 @@ require 'digest/sha1' +require 'devise/strategies/authenticable' module Devise module Models diff --git a/lib/devise/models/rememberable.rb b/lib/devise/models/rememberable.rb index 246b0529..bfb872c9 100644 --- a/lib/devise/models/rememberable.rb +++ b/lib/devise/models/rememberable.rb @@ -1,5 +1,6 @@ -require 'devise/hooks/rememberable' require 'digest/sha1' +require 'devise/hooks/rememberable' +require 'devise/strategies/rememberable' module Devise module Models diff --git a/lib/devise/strategies/authenticable.rb b/lib/devise/strategies/authenticable.rb index 95f98116..7f79edc2 100644 --- a/lib/devise/strategies/authenticable.rb +++ b/lib/devise/strategies/authenticable.rb @@ -43,3 +43,5 @@ module Devise end end end + +Warden::Strategies.add(:authenticable, Devise::Strategies::Authenticable) diff --git a/lib/devise/strategies/rememberable.rb b/lib/devise/strategies/rememberable.rb index 581c692a..9d928709 100644 --- a/lib/devise/strategies/rememberable.rb +++ b/lib/devise/strategies/rememberable.rb @@ -31,3 +31,5 @@ module Devise end end end + +Warden::Strategies.add(:rememberable, Devise::Strategies::Rememberable) diff --git a/lib/devise/warden.rb b/lib/devise/warden.rb index b192dd5e..5bed2a33 100644 --- a/lib/devise/warden.rb +++ b/lib/devise/warden.rb @@ -49,14 +49,13 @@ Warden::Manager.before_failure do |env, opts| env['warden'].request.params['action'] = 'new' end +# Setup devise strategies for Warden +require 'devise/strategies/base' + # Adds Warden Manager to Rails middleware stack, configuring default devise # strategy and also the controller who will manage not authenticated users. Rails.configuration.middleware.use Warden::Manager do |manager| manager.default_strategies :rememberable, :authenticable manager.failure_app = SessionsController + manager.silence_missing_strategies! end - -# Setup devise strategies for Warden -require 'devise/strategies/base' -Warden::Strategies.add(:rememberable, Devise::Strategies::Rememberable) -Warden::Strategies.add(:authenticable, Devise::Strategies::Authenticable)