Exception: Exception

Defined in:
lib/eco-rake/patches/exception.rb

Instance Method Summary collapse

Instance Method Details

#patch_full_message(trace_count: -1)) ⇒ Object



2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/eco-rake/patches/exception.rb', line 2

def patch_full_message(trace_count: -1)
  tracing   = backtrace || []
  first_ln  = tracing[0]
  tracing   = tracing[1..trace_count]
  tracing   = tracing[1..30] if instance_of?(SystemStackError)
  tracing ||= []

  msg = []
  msg << "\n#{first_ln} \n#{message} (#{self.class})"
  tracing.each_with_index do |bt, i|
    msg << "#{" " * 8}#{i + 1}: from #{bt}"
  end

  unless cause.nil?
    msg << "\nCAUSE:"
    msg << cause.patch_full_message(trace_count: trace_count)
  end

  msg.join("\n")
rescue StandardError => e
  puts "Something is wrong with 'patch_full_message': #{e}"
end