Skip to content

Instantly share code, notes, and snippets.

@laser
Created June 24, 2013 19:56
Show Gist options
  • Save laser/5853035 to your computer and use it in GitHub Desktop.
Save laser/5853035 to your computer and use it in GitHub Desktop.
Use the "modular style"
########
# app.rb
#
require 'sinatra/base'
class SimpleApp < Sinatra::Base
set :root, File.dirname(__FILE__)
enable :sessions
def require_logged_in
redirect('/sessions/new') unless is_authenticated?
end
def is_authenticated?
return !!session[:user_id]
end
get '/' do
erb :login
end
get '/sessions/new' do
erb :login
end
post '/sessions' do
session[:user_id] = params["user_id"]
end
get '/secrets' do
require_logged_in
erb :secrets
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment