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
|
# File 'lib/deas/sinatra_app.rb', line 7
def self.new(server_config)
server_config.validate!
Sinatra.new do
set :environment, server_config.env
set :root, server_config.root
set :public_folder, server_config.public_root
set :views, server_config.views_root
set :dump_errors, server_config.dump_errors
set :method_override, server_config.method_override
set :sessions, server_config.sessions
set :static, server_config.static_files
set :reload_templates, server_config.reload_templates
set :logging, false
set :raise_errors, false
set :show_exceptions, false
set :deas_template_scope, server_config.template_scope
set :deas_error_procs, server_config.error_procs
set :deas_default_charset, server_config.default_charset
set :logger, server_config.logger
server_config.settings.each{ |set_args| set *set_args }
server_config.middlewares.each{ |use_args| use *use_args }
server_config.routes.each do |route|
send(route.method, route.path){ route.run(self) }
end
not_found do
env['sinatra.error'] ||= Sinatra::NotFound.new
ErrorHandler.run(env['sinatra.error'], self, settings.deas_error_procs)
end
error do
ErrorHandler.run(env['sinatra.error'], self, settings.deas_error_procs)
end
end
end
|