-
Notifications
You must be signed in to change notification settings - Fork 0
/
config.ru
77 lines (55 loc) · 2.09 KB
/
config.ru
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
76
77
require 'rubygems'
require 'date'
require 'bundler/setup'
require 'json'
Bundler.require :default
#==============================================================================
# Setup environments
#==============================================================================
class Sinatra::Base
register Sinatra::ConfigFile
config_file 'config.yml'
set :environment, settings.environment
set :views, File.expand_path(settings.views_path, __FILE__)
set :public_folder, File.expand_path(settings.public_path, __FILE__)
enable :sessions
# call Bundle.require for each environment
settings.environments.each do |environment|
configure environment do
Bundler.require environment
end
end
configure :development do
register Sinatra::Reloader
DB = Sequel.sqlite settings.development[:sqlite_path]
end
configure :production do
disable :show_exceptions
db_host = settings.production['db_host']
db_name = settings.production['db_name']
db_user = settings.production['db_user']
db_password = settings.production['db_password']
DB = Sequel.postgres(db_name, host: db_host, user: db_user, password: db_password)
end
DB.extension(:pagination)
end
#==============================================================================
# Require all custom constants, models, controllers and helpers
#==============================================================================
require './constants.rb'
require_file = -> (file) { require file }
Dir.glob('./{models,helpers}/**/*.rb').each &require_file
require './controllers/application_controller'
Dir.glob('./controllers/**/*.rb').each &require_file
#==============================================================================
# Map Top Level Controllers
#==============================================================================
controllers = [
WebsiteController,
UserController,
TasksController,
CharityController,
]
controllers.each do |controller|
map (controller::NAMESPACE) { run controller }
end