diff options
author | Azul <azul@leap.se> | 2012-06-26 17:33:57 +0200 |
---|---|---|
committer | Azul <azul@leap.se> | 2012-06-26 17:43:28 +0200 |
commit | d0f10aab67ab679b17bfad76b242ecf7fc7177f6 (patch) | |
tree | cae8912570ab46d03cc40b57b3c275c19e5c4399 /http-srp.rb | |
parent | 81fb099211133c167376d90d8dfe06b2337672f2 (diff) |
added simple sinatra app for demoing / testing
Diffstat (limited to 'http-srp.rb')
-rw-r--r-- | http-srp.rb | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/http-srp.rb b/http-srp.rb new file mode 100644 index 0000000..f57a6e1 --- /dev/null +++ b/http-srp.rb @@ -0,0 +1,47 @@ +require 'sinatra' +require 'pp' + +class User + + def self.current + # p "getting #{@current ? @current.login : 'nil'}" + @current ||= User.new + end + + attr_accessor :login + attr_accessor :password + attr_accessor :active + + def signup!(params) + self.login = params.delete('login') + p "signing up as #{login}" + self.password = params.delete('password') + self.active = false + end + + def login!(params) + self.active = valid_login?(params[:login], params[:password]) + end + + def valid_login?(login, password) + (self.login == login) and (self.password == password) + end +end + +get '/' do + @user = User.current + p "visiting / as #{@user.login}" + erb :index +end + +post '/signup' do + @user = User.current + @user.signup!(params) + redirect '/' +end + +post '/login' do + @user = User.current + @user.login!(params) + redirect '/' +end |