-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathapp.rb
75 lines (57 loc) · 1.49 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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
require 'rubygems'
# Setup load paths
$: << File.expand_path('../', __FILE__)
$: << File.expand_path('../lib', __FILE__)
require 'dotenv'
Dotenv.load
# Require base
require 'sinatra/base'
require 'sinatra/contrib'
require "sinatra/reloader"
require "sinatra/flash"
require 'sinatra/partial'
require 'sequel'
require 'active_support'
require 'active_support/core_ext'
require 'active_support/json'
require "digest/sha1"
require 'rack/standards'
require 'pony'
require 'rake'
require 'logger'
Dir['lib/**/*.rb'].sort.each { |file| require file }
require 'config/database'
require 'app/extensions'
require 'app/models'
require 'app/helpers'
require 'app/routes'
module MyApp
class App < Sinatra::Base
register Sinatra::Contrib
register Sinatra::Flash
configure do
register Sinatra::Partial
disable :static
enable :session, :logging
set :method_override, true
file = File.new("#{settings.root}/log/#{settings.environment}.log", 'a+')
file.sync = true
use Rack::CommonLogger, file
set :sessions,
:httponly => true,
:secure => production?,
:expire_after => 31557600, # 1 year
:secret => ENV['SESSION_SECRET']
end
use Rack::Deflater
use Rack::Standards
# Other routes:
use Routes::Apps
use Routes::Static
use Routes::Users
unless settings.production?
use Routes::Assets
end
end
end
include MyApp::Models