Class: PrettyTrace::StructuredBacktrace
- Inherits:
-
Object
- Object
- PrettyTrace::StructuredBacktrace
- Defined in:
- lib/pretty_trace/structured_backtrace.rb
Instance Attribute Summary collapse
-
#backtrace ⇒ Object
readonly
Returns the value of attribute backtrace.
-
#options ⇒ Object
readonly
Returns the value of attribute options.
Instance Method Summary collapse
- #formatted_backtrace ⇒ Object
-
#initialize(backtrace, options = {}) ⇒ StructuredBacktrace
constructor
A new instance of StructuredBacktrace.
- #structure ⇒ Object
- #to_s ⇒ Object
Constructor Details
#initialize(backtrace, options = {}) ⇒ StructuredBacktrace
Returns a new instance of StructuredBacktrace.
5 6 7 8 |
# File 'lib/pretty_trace/structured_backtrace.rb', line 5 def initialize(backtrace, ={}) = @backtrace = backtrace end |
Instance Attribute Details
#backtrace ⇒ Object (readonly)
Returns the value of attribute backtrace.
3 4 5 |
# File 'lib/pretty_trace/structured_backtrace.rb', line 3 def backtrace @backtrace end |
#options ⇒ Object (readonly)
Returns the value of attribute options.
3 4 5 |
# File 'lib/pretty_trace/structured_backtrace.rb', line 3 def end |
Instance Method Details
#formatted_backtrace ⇒ Object
30 31 32 |
# File 'lib/pretty_trace/structured_backtrace.rb', line 30 def formatted_backtrace structure.map(&:formatted_line) end |
#structure ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/pretty_trace/structured_backtrace.rb', line 10 def structure filter = [:filter] || [] filter = [filter] unless filter.is_a? Array result = backtrace.dup filter.each do |expression| result.reject! { |trace| trace =~ expression } end result.map! { |line| BacktraceItem.new line } first_line = result[0] result.reverse! result.uniq!(&:path) if should_trim? result result.push first_line unless first_line.original_line == result[-1].original_line result end |
#to_s ⇒ Object
34 35 36 |
# File 'lib/pretty_trace/structured_backtrace.rb', line 34 def to_s formatted_backtrace.join "\n" end |