mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
171803d5d3
At the moment, there are some problems with regard to bundler + did_you_mean because of did_you_mean being a bundled gem. Since the vendored version of thor inside bundler and ruby itself explicitly requires did_you_mean, it can become difficult to load it when using Bundler.setup. See this issue: https://github.com/yuki24/did_you_mean/issues/117#issuecomment-482733159 for more details.
49 lines
1.2 KiB
Ruby
49 lines
1.2 KiB
Ruby
# frozen-string-literal: true
|
|
|
|
module DidYouMean
|
|
# The +DidYouMean::VerboseFormatter+ uses extra empty lines to make the
|
|
# suggestion stand out more in the error message.
|
|
#
|
|
# In order to activate the verbose formatter,
|
|
#
|
|
# @example
|
|
#
|
|
# OBject
|
|
# # => NameError: uninitialized constant OBject
|
|
# # Did you mean? Object
|
|
#
|
|
# require 'did_you_mean/verbose'
|
|
#
|
|
# OBject
|
|
# # => NameError: uninitialized constant OBject
|
|
# #
|
|
# # Did you mean? Object
|
|
# #
|
|
#
|
|
class VerboseFormatter
|
|
|
|
# Returns a human readable string that contains +corrections+. This
|
|
# formatter is designed to be less verbose to not take too much screen
|
|
# space while being helpful enough to the user.
|
|
#
|
|
# @example
|
|
#
|
|
# formatter = DidYouMean::PlainFormatter.new
|
|
#
|
|
# puts formatter.message_for(["methods", "method"])
|
|
#
|
|
#
|
|
# Did you mean? methods
|
|
# method
|
|
#
|
|
# # => nil
|
|
#
|
|
def message_for(corrections)
|
|
return "" if corrections.empty?
|
|
|
|
output = "\n\n Did you mean? ".dup
|
|
output << corrections.join("\n ")
|
|
output << "\n "
|
|
end
|
|
end
|
|
end
|