Skip to content

Commit a8ef9ac

Browse files
authored
Merge pull request #262 from gfx/did_you_mean-v1.2.0
support did_you_mean >= v1.2.0 which has a breaking change on formatters
2 parents a8ebea2 + 9d2c8af commit a8ef9ac

File tree

1 file changed

+12
-8
lines changed

1 file changed

+12
-8
lines changed

lib/rake/task_manager.rb

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -61,16 +61,20 @@ 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)
68-
::DidYouMean::Formatter.new(suggestions).to_s
69-
else
70-
""
71-
end
67+
def generate_did_you_mean_suggestions(task_name)
68+
return "" unless defined?(::DidYouMean::SpellChecker)
7269

73-
message + suggestion_message
70+
suggestions = ::DidYouMean::SpellChecker.new(dictionary: @tasks.keys).correct(task_name.to_s)
71+
if ::DidYouMean.respond_to?(:formatter)# did_you_mean v1.2.0 or later
72+
::DidYouMean.formatter.message_for(suggestions)
73+
elsif defined?(::DidYouMean::Formatter) # before did_you_mean v1.2.0
74+
::DidYouMean::Formatter.new(suggestions).to_s
75+
else
76+
""
77+
end
7478
end
7579

7680
def synthesize_file_task(task_name) # :nodoc:

0 commit comments

Comments
 (0)