Module: Shield::Helpers

Defined in:
lib/shield.rb

Instance Method Summary collapse

Instance Method Details

#authenticate(user) ⇒ Object



48
49
50
# File 'lib/shield.rb', line 48

def authenticate(user)
  session[user.class.to_s] = user.id
end

#authenticated(model) ⇒ Object



43
44
45
46
# File 'lib/shield.rb', line 43

def authenticated(model)
  @_shield ||= {}
  @_shield[model] ||= session[model.to_s] && model[session[model.to_s]]
end

#login(model, username, password) ⇒ Object



52
53
54
55
# File 'lib/shield.rb', line 52

def (model, username, password)
  user = model.authenticate(username, password)
  authenticate(user) if user
end

#logout(model) ⇒ Object



61
62
63
64
65
66
# File 'lib/shield.rb', line 61

def logout(model)
  session.delete(model.to_s)
  session.delete(:remember_for)

  @_shield.delete(model) if defined?(@_shield)
end

#persist_session!Object



37
38
39
40
41
# File 'lib/shield.rb', line 37

def persist_session!
  if session[:remember_for]
    env["rack.session.options"][:expire_after] = session[:remember_for]
  end
end

#remember(user, expire = 1209600) ⇒ Object



57
58
59
# File 'lib/shield.rb', line 57

def remember(user, expire = 1209600)
  session[:remember_for] = expire
end