class Honeybadger::Backtrace
@api private Front end to parsing the backtrace for each notice.
Attributes
Holder for an Array of Backtrace::Line
instances.
Holder for an Array of Backtrace::Line
instances.
Public Class Methods
Source
# File lib/honeybadger/backtrace.rb, line 127 def initialize(lines) self.lines = lines self.application_lines = lines.select(&:application?) end
Source
# File lib/honeybadger/backtrace.rb, line 117 def self.parse(ruby_backtrace, opts = {}) ruby_lines = split_multiline_backtrace(ruby_backtrace.to_a) lines = ruby_lines.collect do |unparsed_line| Line.parse(unparsed_line.to_s, opts) end.compact instance = new(lines) end
Source
# File lib/honeybadger/backtrace.rb, line 174 def self.split_multiline_backtrace(backtrace) if backtrace.size == 1 backtrace.first.to_s.split(/\n\s*/) else backtrace end end
Public Instance Methods
Source
# File lib/honeybadger/backtrace.rb, line 162 def ==(other) if other.respond_to?(:to_json) to_json == other.to_json else false end end
Source
Source
# File lib/honeybadger/backtrace.rb, line 158 def inspect "<Backtrace: " + lines.collect { |line| line.inspect }.join(", ") + ">" end
Source
# File lib/honeybadger/backtrace.rb, line 135 def to_ary lines.take(1000).map { |l| { :number => l.filtered_number, :file => l.filtered_file, :method => l.filtered_method, :source => l.source } } end
Convert Backtrace
to arry.
Returns¶ ↑
Returns array containing backtrace lines.
Also aliased as: to_a
Source
Source
# File lib/honeybadger/backtrace.rb, line 154 def to_s lines.map(&:to_s).join("\n") end