-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathapp.rb
More file actions
87 lines (70 loc) · 1.25 KB
/
app.rb
File metadata and controls
87 lines (70 loc) · 1.25 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
require './models/models.rb'
require 'sinatra'
require './helpers/helpers'
if development?
puts 'DEVELOPMENT'
require 'sinatra/reloader'
end
before do
p logged_in_user
@authuser = logged_in_user#User.get get_login
p 'page loading: ' + request.fullpath
if @authuser
p '@authuser = ' + @authuser.name
else
p '@authuser = nil'
end
p 'Params:'
params.each do |param|
p param
end
end
# AJAX #
get "/api/test" do
json :a => 1, :b => 2
end
get '/' do
erb :index
end
# User Auth ####
get '/test' do
p 'Authuser: '
p @authuser
p logged_in_user
"#{@authuser}"#"#{@authuser.try(:id)}"
end
get "/logout" do
logout
redirect '/'
end
get "/signup" do
erb :signup
end
get "/login" do
erb :login
end
post "/signup" do
u = User.create(:name => params[:name], raw_password: params[:password])
if u.saved?
login u.id
redirect '/'
else
u.errors.each do |e|
p e
end
"Registration failed"
end
end
post "/login" do
u = User.first(:name_lower => params[:name].downcase)
if u and u.verify_pass(params[:password])
login(u.id)
redirect '/'
elsif u
p 'invalid password'
"Invalid username or password"
else
p 'invalid username'
"Invalid username or password"
end
end