module Gracefully::NestedError

Thanks to [nested](github.com/skorks/nesty) for the original code

Public Class Methods

new(message, args) click to toggle source
Calls superclass method
# File lib/gracefully/error.rb, line 4
def initialize(message, args)
  @nested = args[:nested]
  super(message)
end

Public Instance Methods

set_backtrace(backtrace) click to toggle source
Calls superclass method
# File lib/gracefully/error.rb, line 9
def set_backtrace(backtrace)
  @raw_backtrace = backtrace
  if nested
    backtrace = include_nested_raw_backtrace_in backtrace
  end
  super(backtrace)
end

Private Instance Methods

include_nested_raw_backtrace_in(backtrace) click to toggle source
# File lib/gracefully/error.rb, line 19
def include_nested_raw_backtrace_in(backtrace)
  backtrace = backtrace - nested_raw_backtrace
  backtrace += ["#{nested.backtrace.first}: #{nested.message} (#{nested.class.name})"]
  backtrace + nested.backtrace[1..-1] || []
end
nested() click to toggle source
# File lib/gracefully/error.rb, line 29
def nested
  @nested
end
nested_raw_backtrace() click to toggle source
# File lib/gracefully/error.rb, line 25
def nested_raw_backtrace
  nested.respond_to?(:raw_backtrace) ? nested.raw_backtrace : nested.backtrace
end