class ActiveSupport::SyntaxErrorProxy

:nodoc:
source on error pages in development.
source location of the syntax error. That way we can display the error
is to enhance the backtraces on SyntaxError exceptions to include the
This is a class for wrapping syntax errors. The purpose of this class

def backtrace

:nodoc:
source on error pages in development.
source location of the syntax error. That way we can display the error
is to enhance the backtraces on SyntaxError exceptions to include the
This is a class for wrapping syntax errors. The purpose of this class
def backtrace
  parse_message_for_trace + super
end

def backtrace_locations

def backtrace_locations
  parse_message_for_trace.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

def parse_message_for_trace

def parse_message_for_trace
  __getobj__.to_s.split("\n")
end