2021-10-22 21:00:23 -04:00
|
|
|
# frozen-string-literal: true
|
|
|
|
|
|
|
|
module DidYouMean
|
|
|
|
# The +DidYouMean::Formatter+ is the basic, default formatter for the
|
|
|
|
# gem. The formatter responds to the +message_for+ method and it returns a
|
|
|
|
# human readable string.
|
|
|
|
class Formatter
|
|
|
|
|
|
|
|
# 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::Formatter.new
|
|
|
|
#
|
|
|
|
# # displays suggestions in two lines with the leading empty line
|
|
|
|
# puts formatter.message_for(["methods", "method"])
|
|
|
|
#
|
|
|
|
# Did you mean? methods
|
|
|
|
# method
|
|
|
|
# # => nil
|
|
|
|
#
|
|
|
|
# # displays an empty line
|
|
|
|
# puts formatter.message_for([])
|
|
|
|
#
|
|
|
|
# # => nil
|
|
|
|
#
|
2021-12-24 07:04:49 -05:00
|
|
|
def self.message_for(corrections)
|
2021-10-22 21:00:23 -04:00
|
|
|
corrections.empty? ? "" : "\nDid you mean? #{corrections.join("\n ")}"
|
|
|
|
end
|
2021-12-24 07:04:49 -05:00
|
|
|
|
|
|
|
def message_for(corrections)
|
|
|
|
warn "The instance method #message_for has been deprecated. Please use the class method " \
|
|
|
|
"DidYouMean::Formatter.message_for(...) instead."
|
|
|
|
|
|
|
|
self.class.message_for(corrections)
|
|
|
|
end
|
2021-10-22 21:00:23 -04:00
|
|
|
end
|
|
|
|
|
|
|
|
PlainFormatter = Formatter
|
2021-12-24 07:04:49 -05:00
|
|
|
|
|
|
|
deprecate_constant :PlainFormatter
|
2021-10-22 21:00:23 -04:00
|
|
|
end
|