-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathapp.rb
53 lines (40 loc) · 1.08 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
41
42
43
44
45
46
47
48
49
50
51
52
53
require 'yaml'
require 'json'
require 'prawn'
require 'thin'
require 'sinatra'
require 'rack/csrf'
require 'sinatra/flash'
require 'bcrypt'
require 'active_record'
require 'uri'
require 'net/http'
require_relative 'models/master'
begin
$CONFIG = YAML.load_file('config.yml').freeze
$ROOT = File.dirname(__FILE__)
def assert_config(field)
raise "The config file is missing #{field}" unless $CONFIG.has_key?(field)
end
assert_config(:connection)
assert_config(:initial_users)
assert_config(:site_title)
assert_config(:printer_name)
assert_config(:site_name)
assert_config(:min_description_length)
assert_config(:secret)
rescue Exception => e
puts e
puts "The config file 'config.yml' is missing."
end
ActiveRecord::Base.establish_connection($CONFIG[:connection])
class Kiosk < Sinatra::Base
register Sinatra::Flash
set :public_folder, $ROOT + "/public"
configure do
# use Rack::Csrf, :raise => true
use Rack::Session::Cookie, :secret => $CONFIG[:secret]
Code.initN($CONFIG[:initial_users]) if Code.count == 0
end
require_relative 'routes/main'
end