Module: Sinatra::ErrorHandler
- Extended by:
- Hexacta
- Defined in:
- lib/sinatra/handlers/errors.rb
Constant Summary
Constants included
from Hexacta
Hexacta::GEM_FILE_DIR
Instance Method Summary
collapse
Methods included from Hexacta
copy_dir_structure, setup_dir, symlink, symlink_all
Instance Method Details
#enable_errors ⇒ Object
6
7
8
9
10
11
12
13
|
# File 'lib/sinatra/handlers/errors.rb', line 6
def enable_errors
p "Enabling errors..."
ErrorHandler.setup_dir("/app/views/#{Hexacta::GEM_FILE_DIR}/errors")
error_template(404)
error_template(403)
error_template(500)
end
|
#error_template(code) ⇒ Object
15
16
17
18
19
20
21
22
23
24
25
|
# File 'lib/sinatra/handlers/errors.rb', line 15
def error_template(code)
ErrorHandler.symlink("/lib/sinatra/views/errors/#{code}.slim","/app/views/#{Hexacta::GEM_FILE_DIR}/errors/#{code}.slim")
error code do
if code == 500
title = env['sinatra.error'].message.split(':')[0].gsub('#<','');
message = (["in #{request.url}"] + env['sinatra.error'].backtrace).join(',');
NotificationSender.instance.send_error(authenticated(User),title,message)
end
slim "#{Hexacta::GEM_FILE_DIR}/errors/#{code}".to_sym, locals: { :params => params }
end
end
|