class Sentry::Backtrace
@api private
def self.parse(backtrace, project_root, app_dirs_pattern, &backtrace_cleanup_callback)
def self.parse(backtrace, project_root, app_dirs_pattern, &backtrace_cleanup_callback) ruby_lines = backtrace.is_a?(Array) ? backtrace : backtrace.split(/\n\s*/) ruby_lines = backtrace_cleanup_callback.call(ruby_lines) if backtrace_cleanup_callback in_app_pattern ||= begin Regexp.new("^(#{project_root}/)?#{app_dirs_pattern || APP_DIRS_PATTERN}") end lines = ruby_lines.to_a.map do |unparsed_line| Line.parse(unparsed_line, in_app_pattern) end new(lines) end
def ==(other)
def ==(other) if other.respond_to?(:lines) lines == other.lines else false end end
def initialize(lines)
def initialize(lines) @lines = lines end
def inspect
def inspect "<Backtrace: " + lines.map(&:inspect).join(", ") + ">" end
def to_s
def to_s content = [] lines.each do |line| content << line end content.join("\n") end