]> CyberLeo.Net >> Repos - CDN/metadata.git/blob - app.rb
Even more screwing around
[CDN/metadata.git] / app.rb
1 require 'sinatra/base'
2 require 'sinatra/json'
3 require 'yajl'
4 require 'yajl/json_gem'
5 require 'csv'
6
7 $set = "cheesy2"
8
9 def load_tracklist()
10   file = "sets/#{$set}.csv"
11   csv = CSV.read(File.open(file))
12   names = csv.shift
13   $tracklist = csv.map do |row|
14     Hash[*names.zip(row).flatten]
15   end
16 end
17
18 load_tracklist
19
20 def tracklist_json
21   $tracklist.to_json
22 end
23
24 class App < Sinatra::Base
25   configure do
26     set :protection, :except => :frame_options
27   end
28
29   get '/tracklist.json' do
30     json $tracklist
31   end
32
33   get '/js/handler.js' do
34     content_type 'text/javascript'
35     erb :handler_js
36   end
37
38   get '/css/meta.css' do
39     content_type 'text/css'
40     erb :meta_css
41   end
42
43   get '/' do
44     erb :index, :locals => { :mixtitle => $set, :tracklist => tracklist_json }
45   end
46 end