Module: ErrorNande

Defined in:
lib/error_nande.rb,
lib/error_nande/version.rb

Defined Under Namespace

Classes: NullBacktraceCleaner

Constant Summary collapse

VERSION =
"0.0.1"

Class Method Summary collapse

Class Method Details

.backtrace_cleanerObject



27
28
29
30
31
32
33
# File 'lib/error_nande.rb', line 27

def self.backtrace_cleaner
  if defined?(::Rails) && ::Rails.backtrace_cleaner
    ::Rails.backtrace_cleaner
  else
    NullBacktraceCleaner.new
  end
end

.compact_backtrace(error) ⇒ Object



16
17
18
19
# File 'lib/error_nande.rb', line 16

def self.compact_backtrace(error)
  return "(toplevel)" unless error.backtrace
  self.backtrace_cleaner.clean(error.backtrace, :no_silencers).first
end

.nande(error) ⇒ Object Also known as: summary



4
5
6
7
8
9
10
# File 'lib/error_nande.rb', line 4

def self.nande(error)
  summary = "#{error.inspect} at #{compact_backtrace(error)}"
  while error = error.cause
    summary << " (cause #{error.inspect} at #{compact_backtrace(error)})"
  end
  summary
end