-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy pathapp.rb
40 lines (34 loc) · 1.11 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
require 'sinatra/base'
# Main sinatra App, using param routing.
class App < Sinatra::Base
# GET Routing views
# Main page
get('/') { erb :index }
# Basic error page (never 404)
error { preview('error') }
# RevengeQuest custom views
get('/revenge') { erb :'revenge/index' }
# Templates with double-routing
get '/:view/:param' do |view, _param|
es_element = %w(aire agua fuego tierra).include?(view)
es_sagrada = %w(arena hielo sombra sangre).include?(view)
es_plegaria = %w(plegarias execraciones).include?(view)
# Custom case for redundant spell lists
case
# Magic views
when es_element then preview('hechizos')
when es_sagrada then preview('sagradas')
when es_plegaria then preview('plegarias')
# Usual rooting
else preview(view)
end
end
# Templates with simple root-viewer
get '/:view' do |view|
campeones = %w(reservistas ausentes licenciados).include?(view)
campeones ? preview('heroes') : preview(view)
end
# POST Routing views
post('/calculador') { preview('calculador') }
post('/buscar') { preview('heroes') }
end