Sha256: f7479e2d04ba1b6531f8da438c456c2bc9c768b7ce62246338d1978b143189a3

Contents?: true

Size: 766 Bytes

Versions: 7

Compression:

Stored size: 766 Bytes

Contents

# Each time the user is set we verify if it is still able to really sign in.
# This is done by checking the time frame the user is able to sign in without
# confirming it's account. If the user has not confirmed it's account during
# this time frame, he/she will not able to sign in anymore.
Warden::Manager.after_set_user do |record, warden, options|
  if record && record.respond_to?(:active?) && !record.active?
    scope = options[:scope]
    warden.logout(scope)
    if warden.winning_strategy
      # If winning strategy was set, this is being called after authenticate and
      # there is no need to force a redirect.
      warden.winning_strategy.fail!(:unconfirmed)
    else
      throw :warden, :scope => scope, :message => :unconfirmed
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
devise-0.7.3 lib/devise/hooks/confirmable.rb
devise-0.7.2 lib/devise/hooks/confirmable.rb
devise-0.7.1 lib/devise/hooks/confirmable.rb
devise-0.7.0 lib/devise/hooks/confirmable.rb
devise-0.6.3 lib/devise/hooks/confirmable.rb
devise-0.6.2 lib/devise/hooks/confirmable.rb
devise-0.6.1 lib/devise/hooks/confirmable.rb