Code

< 40 %
40-60 %
> 60 %
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