Method: Devise::Test::ControllerHelpers#sign_out

Defined in:
lib/devise/test/controller_helpers.rb

#sign_out(resource_or_scope) ⇒ Object

Sign out a given resource or scope by calling logout on Warden. This method bypass any warden logout callback.

Examples:

sign_out :user     # sign_out(scope)
sign_out @user     # sign_out(resource)


92
93
94
95
96
97
# File 'lib/devise/test/controller_helpers.rb', line 92

def sign_out(resource_or_scope)
  scope = Devise::Mapping.find_scope!(resource_or_scope)
  @controller.instance_variable_set(:"@current_#{scope}", nil)
  user = warden.instance_variable_get(:@users).delete(scope)
  warden.session_serializer.delete(scope, user)
end