module Shield::Helpers

Public Instance Methods

authenticate(user) click to toggle source
# File lib/shield.rb, line 48
def authenticate(user)
  session.clear
  session[user.class.to_s] = user.id
end
authenticated(model) click to toggle source
# 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) click to toggle source
# File lib/shield.rb, line 53
def login(model, username, password)
  user = model.authenticate(username, password)
  authenticate(user) if user
end
logout(model) click to toggle source
# File lib/shield.rb, line 62
def logout(model)
  session.delete(model.to_s)
  session.delete(:remember_for)

  @_shield.delete(model) if defined?(@_shield)
end
persist_session!() click to toggle source
# 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(expire = 1209600) click to toggle source
# File lib/shield.rb, line 58
def remember(expire = 1209600)
  session[:remember_for] = expire
end