ruby-changes:71944
From: David <ko1@a...>
Date: Wed, 25 May 2022 01:18:19 +0900 (JST)
Subject: [ruby-changes:71944] 9fdef28687 (master): [rubygems/rubygems] Show exception cause in bug report template
https://git.ruby-lang.org/ruby.git/commit/?id=9fdef28687 From 9fdef28687fba5e01d0ee6a2422dba9dd0f7d1b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Rodr=C3=ADguez?= <deivid.rodriguez@r...> Date: Tue, 24 May 2022 15:23:13 +0200 Subject: [rubygems/rubygems] Show exception cause in bug report template https://github.com/rubygems/rubygems/commit/84b163e804 --- lib/bundler/friendly_errors.rb | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/lib/bundler/friendly_errors.rb b/lib/bundler/friendly_errors.rb index cc615db60c..ff6cdc4123 100644 --- a/lib/bundler/friendly_errors.rb +++ b/lib/bundler/friendly_errors.rb @@ -65,8 +65,7 @@ module Bundler https://github.com/ruby/ruby/blob/trunk/lib/bundler/friendly_errors.rb#L65 --- ERROR REPORT TEMPLATE ------------------------------------------------------- ``` - #{e.class}: #{e.message} - #{e.backtrace && e.backtrace.join("\n ").chomp} + #{exception_message(e)} ``` #{Bundler::Env.report} @@ -85,6 +84,21 @@ module Bundler https://github.com/ruby/ruby/blob/trunk/lib/bundler/friendly_errors.rb#L84 EOS end + def exception_message(error) + message = serialized_exception_for(error) + cause = error.cause + return message unless cause + + message + serialized_exception_for(cause) + end + + def serialized_exception_for(e) + <<-EOS.gsub(/^ {8}/, "") + #{e.class}: #{e.message} + #{e.backtrace && e.backtrace.join("\n ").chomp} + EOS + end + def issues_url(exception) message = exception.message.lines.first.tr(":", " ").chomp message = message.split("-").first if exception.is_a?(Errno) -- cgit v1.2.1 -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/