-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathapp.rb
More file actions
67 lines (56 loc) · 1.21 KB
/
app.rb
File metadata and controls
67 lines (56 loc) · 1.21 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
require 'sinatra'
require 'sinatra/json'
require 'sinatra/reloader' if development?
require 'haml'
require 'rack-flash'
require 'better_errors' if development?
require './lib/database'
require './lib/seed' if development?
enable :sessions
use Rack::Flash
configure :development do
use BetterErrors::Middleware
BetterErrors.application_root = File.expand_path("..", __FILE__)
end
helpers do
def partial(page, options={}, locals={})
haml page.to_sym, options.merge!(:layout => false), locals
end
end
get '/' do
haml :index
end
get '/timers/?' do
logger.info "Received GET /timers"
@timers = Timer.all
haml :timers
end
get '/timers/:id' do |id|
@timer = Timer.get(id)
if @timer
haml :timer
else
flash[:error] = "Could not find timer with id #{id}"
haml :timers
end
end
# TODO: This is not RESTful
get '/timers/:id/delete' do |id|
@timer = Timer.get(id)
if @timer
@timer.destroy!
haml :timers
else
flash[:error] = "Could not find timer with id #{id}"
haml :timers
end
end
post '/timers/?' do
logger.info "Received POST /timers: #{params.inspect}"
timer = Timer.new(
id: params[:id],
name: params[:name],
end: params[:end]
)
timer.save!
end