Skip to content

Commit a991099

Browse files
committed
support did_you_mean >= v1.2.0 which has a breaking change on formatters
1 parent a8ebea2 commit a991099

File tree

1 file changed

+11
-5
lines changed

1 file changed

+11
-5
lines changed

lib/rake/task_manager.rb

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -61,16 +61,22 @@ def [](task_name, scopes=nil)
6161

6262
def generate_message_for_undefined_task(task_name)
6363
message = "Don't know how to build task '#{task_name}' (see --tasks)"
64+
message + generate_did_you_mean_suggestions(task_name)
65+
end
6466

65-
suggestion_message = \
66-
if defined?(::DidYouMean::SpellChecker) && defined?(::DidYouMean::Formatter)
67-
suggestions = ::DidYouMean::SpellChecker.new(dictionary: @tasks.keys).correct(task_name.to_s)
67+
def generate_did_you_mean_suggestions(task_name)
68+
if defined?(::DidYouMean::SpellChecker)
69+
suggestions = ::DidYouMean::SpellChecker.new(dictionary: @tasks.keys).correct(task_name.to_s)
70+
if ::DidYouMean.respond_to?(:formatter)# did_you_mean v1.2.0 or later
71+
::DidYouMean.formatter.message_for(suggestions)
72+
elsif defined?(::DidYouMean::Formatter) # before did_you_mean v1.2.0
6873
::DidYouMean::Formatter.new(suggestions).to_s
6974
else
7075
""
7176
end
72-
73-
message + suggestion_message
77+
else
78+
""
79+
end
7480
end
7581

7682
def synthesize_file_task(task_name) # :nodoc:

0 commit comments

Comments
 (0)