forked from makersacademy/chitter-challenge
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathapp.rb
50 lines (41 loc) · 1.1 KB
/
app.rb
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
require_relative 'lib/database_connection'
require_relative 'lib/user_repository.rb'
require_relative 'lib/peep_repository.rb'
require 'sinatra/base'
require 'sinatra/reloader'
DatabaseConnection.connect('chitter')
class Application < Sinatra::Base
# Sessions are disabled by default, so this line is needed.
enable :sessions
configure :development do
register Sinatra::Reloader
end
get '/signup' do
return erb(:signup)
end
post '/signup' do
new_user = User.new
new_user.username = params['username']
new_user.email = params['email']
new_user.password = params['password']
created_user = UserRepository.new.create(new_user)
session[:user_id] = created_user.id
redirect '/homepage'
end
get '/homepage' do
repo = PeepRepository.new
@peeps = repo.all
return erb(:homepage)
end
get '/peep' do
return erb(:peep)
end
post '/peep' do
new_peep = Peep.new
new_peep.peep = params[:peep]
new_peep.timestamp = Time.now
new_peep.username_id = session[:user_id]
PeepRepository.new.create(new_peep)
redirect '/homepage'
end
end