class DeepTest::MarshallableExceptionWrapper
Attributes
backtrace[R]
classname[R]
message[R]
Public Class Methods
new(exception)
click to toggle source
# File lib/deep_test/marshallable_exception_wrapper.rb, line 5 def initialize(exception) @classname = exception.class.name @message = exception.message @backtrace = exception.backtrace end
Public Instance Methods
==(other)
click to toggle source
# File lib/deep_test/marshallable_exception_wrapper.rb, line 11 def ==(other) classname == other.classname && message == other.message && backtrace == other.backtrace end
resolve()
click to toggle source
# File lib/deep_test/marshallable_exception_wrapper.rb, line 17 def resolve begin klass = eval("::" + classname) resolved_message = message rescue => e DeepTest.logger.debug("Unable to load exception class: #{classname}: #{e.message}") DeepTest.logger.debug(e.backtrace.join("\n")) klass = UnloadableException resolved_message = "#{classname}: #{message}" end begin resolved_exception = klass.new resolved_message rescue => e DeepTest.logger.debug("Unable to instantiation exception class: #{classname}: #{e.message}") DeepTest.logger.debug(e.backtrace.join("\n")) resolved_exception = UnloadableException.new resolved_message end resolved_exception.set_backtrace backtrace resolved_exception end