Exception: ActiveSupport::SyntaxErrorProxy
- Defined in:
- activesupport/lib/active_support/syntax_error_proxy.rb
Overview
This is a class for wrapping syntax errors. The purpose of this class is to enhance the backtraces on SyntaxError exceptions to include the source location of the syntax error. That way we can display the error source on error pages in development.
Defined Under Namespace
Classes: BacktraceLocation, BacktraceLocationProxy
Instance Method Summary collapse
Instance Method Details
#backtrace ⇒ Object
11 12 13 |
# File 'activesupport/lib/active_support/syntax_error_proxy.rb', line 11 def backtrace + super end |
#backtrace_locations ⇒ Object
34 35 36 37 38 39 40 41 42 43 44 |
# File 'activesupport/lib/active_support/syntax_error_proxy.rb', line 34 def backtrace_locations return nil if super.nil? .map { |trace| file, line = trace.match(/^(.+?):(\d+).*$/, &:captures) || trace BacktraceLocation.new(file, line.to_i, trace) # We have to wrap these backtrace locations because we need the # spot information to come from the originating exception, not the # proxy object that's generating these } + super.map { |loc| BacktraceLocationProxy.new(loc, self) } end |