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
37 38 39 40 41 42 43 44 45 46 47 |
# File 'activesupport/lib/active_support/syntax_error_proxy.rb', line 37 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 |