1 | 1 | require 'sinatra/base' |
|
2 | # Main sinatra App, using param routing. |
||
3 | 1 | class App < Sinatra::Base |
|
4 | |||
5 | # GET Routing views |
||
6 | # Main page |
||
7 | 1 | get('/') { erb :index } |
|
8 | |||
9 | # Basic error page (never 404) |
||
10 | 1 | error { preview('error') } |
|
11 | |||
12 | # RevengeQuest custom views |
||
13 | 1 | get('/revenge') { erb :'revenge/index' } |
|
14 | |||
15 | # Templates with double-routing |
||
16 | 1 | get '/:view/:param' do |view, _param| |
|
17 | es_element = %w(aire agua fuego tierra).include?(view) |
||
18 | es_sagrada = %w(arena hielo sombra sangre).include?(view) |
||
19 | es_plegaria = %w(plegarias execraciones).include?(view) |
||
20 | # Custom case for redundant spell lists |
||
21 | case |
||
22 | # Magic views |
||
23 | when es_element then preview('hechizos') |
||
24 | when es_sagrada then preview('sagradas') |
||
25 | when es_plegaria then preview('plegarias') |
||
26 | # Usual rooting |
||
27 | else preview(view) |
||
28 | end |
||
29 | end |
||
30 | |||
31 | # Templates with simple root-viewer |
||
32 | 1 | get '/:view' do |view| |
|
33 | campeones = %w(reservistas ausentes licenciados).include?(view) |
||
34 | campeones ? preview('heroes') : preview(view) |
||
35 | end |
||
36 | |||
37 | # POST Routing views |
||
38 | 1 | post('/calculador') { preview('calculador') } |
|
39 | 1 | post('/buscar') { preview('heroes') } |
|
40 | end |
||
41 |