Module: Padrino::Warden::Helpers

Defined in:
lib/padrino/warden/helpers.rb

Instance Method Summary collapse

Instance Method Details

#authenticate(*args) ⇒ Object Also known as: login

Authenticate a user against defined strategies



23
24
25
# File 'lib/padrino/warden/helpers.rb', line 23

def authenticate(*args)
  warden.authenticate!(*args)
end

#authenticated?(scope = nil) ⇒ Boolean Also known as: logged_in?

Check the current session is authenticated to a given scope

Returns:

  • (Boolean)


17
18
19
# File 'lib/padrino/warden/helpers.rb', line 17

def authenticated?(scope=nil)
  scope ? warden.authenticated?(scope) : warden.authenticated?
end

#logout(scopes = nil) ⇒ Object

Terminate the current session

Parameters:

  • the (Symbol)

    session scope to terminate



31
32
33
# File 'lib/padrino/warden/helpers.rb', line 31

def logout(scopes=nil)
  scopes ? warden.logout(scopes) : warden.logout
end

#session_info(scope = nil) ⇒ Object

Return session info

Parameters:

  • the (Symbol)

    scope to retrieve session info for



12
13
14
# File 'lib/padrino/warden/helpers.rb', line 12

def session_info(scope=nil)
  scope ? warden.session(scope) : scope
end

#user(scope = nil) ⇒ Object Also known as: current_user

Access the user from the current session

Parameters:

  • the (Symbol)

    scope for the logged in user



38
39
40
# File 'lib/padrino/warden/helpers.rb', line 38

def user(scope=nil)
  scope ? warden.user(scope) : warden.user
end

#user=(new_user, opts = {}) ⇒ Object Also known as: current_user=

Store the logged in user in the session

Examples:

Set John as the current user

user = User.find_by_name('John')

Parameters:

  • the (Object)

    user you want to store in the session

  • opts (Hash) (defaults to: {})

    a customizable set of options

Options Hash (opts):

  • :scope (Symbol)

    The scope to assign the user



49
50
51
# File 'lib/padrino/warden/helpers.rb', line 49

def user=(new_user, opts={})
  warden.set_user(new_user, opts)
end

#wardenObject

The main accessor to the warden middleware



5
6
7
# File 'lib/padrino/warden/helpers.rb', line 5

def warden
  request.env['warden']
end