class Console::Event::Failure

def extract(exception, hash)

def extract(exception, hash)
	hash[:class] = exception.class.name
	
	if exception.respond_to?(:detailed_message)
		message = exception.detailed_message
		
		# We want to remove the trailling exception class as we format it differently:
		message.sub!(/\s*\(.*?\)$/, '')
		
		hash[:message] = message
	else
		hash[:message] = exception.message
	end
	
	hash[:backtrace] = exception.backtrace
	
	if cause = exception.cause
		hash[:cause] = Hash.new.tap do |cause_hash|
			extract(cause, cause_hash)
		end
	end
end