1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
ruby--ruby/lib/did_you_mean/formatter.rb

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

45 lines
1.3 KiB
Ruby
Raw Normal View History

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