exceptions: add "Did you mean ..." for FormulaOrCaskUnavailableError

This commit is contained in:
Alexander Bayandin 2021-06-19 00:18:51 +01:00
parent 7aacda1754
commit ce4410fd8d
No known key found for this signature in database
GPG Key ID: 444BD9CA93262701

View File

@ -91,9 +91,17 @@ class FormulaOrCaskUnavailableError < RuntimeError
@name = name @name = name
end end
sig { returns(String) }
def did_you_mean
similar_formula_names = Formula.fuzzy_search(name)
return "" if similar_formula_names.blank?
"Did you mean #{similar_formula_names.to_sentence two_words_connector: " or ", last_word_connector: " or "}?"
end
sig { returns(String) } sig { returns(String) }
def to_s def to_s
"No available formula or cask with the name \"#{name}\"." "No available formula or cask with the name \"#{name}\". #{did_you_mean}".strip
end end
end end
@ -129,7 +137,7 @@ class FormulaUnavailableError < FormulaOrCaskUnavailableError
sig { returns(String) } sig { returns(String) }
def to_s def to_s
"No available formula with the name \"#{name}\"#{dependent_s}." "No available formula with the name \"#{name}\"#{dependent_s}. #{did_you_mean}".strip
end end
end end