module Sinatra::SimpleAuth::Helpers

Public Instance Methods

auth!(password) click to toggle source
# File lib/sinatra/simple_auth.rb, line 10
def auth!(password)
  if password == settings.password
    session[:arni] = true
    redirect_back_or_default(settings.home)
  end
  redirect to('/login')
end
authorized?() click to toggle source
# File lib/sinatra/simple_auth.rb, line 6
def authorized?
  session[:arni]
end
logout!() click to toggle source
# File lib/sinatra/simple_auth.rb, line 18
def logout!
  session.clear
  redirect to('/')
end
protected!() click to toggle source
# File lib/sinatra/simple_auth.rb, line 23
def protected!
  unless authorized?
    store_location
    redirect to('/login')
  end
end
store_location() click to toggle source
# File lib/sinatra/simple_auth.rb, line 30
def store_location
  session[:return_to] = request.fullpath if request.get?
end

Protected Instance Methods

redirect_back_or_default(default) click to toggle source
# File lib/sinatra/simple_auth.rb, line 35
def redirect_back_or_default(default)
  if session[:return_to] && session[:return_to] !=~ /^\/login\/?$/
    redirect session.delete(:return_to)
  end
  redirect to(default)
end