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