Skip to content

Commit

Permalink
support did_you_mean >= v1.2.0 which has a breaking change on formatters
Browse files Browse the repository at this point in the history
  • Loading branch information
gfx committed Mar 20, 2018
1 parent a8ebea2 commit a991099
Showing 1 changed file with 11 additions and 5 deletions.
16 changes: 11 additions & 5 deletions lib/rake/task_manager.rb
Original file line number Diff line number Diff line change
Expand Up @@ -61,16 +61,22 @@ def [](task_name, scopes=nil)

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

suggestion_message = \
if defined?(::DidYouMean::SpellChecker) && defined?(::DidYouMean::Formatter)
suggestions = ::DidYouMean::SpellChecker.new(dictionary: @tasks.keys).correct(task_name.to_s)
def generate_did_you_mean_suggestions(task_name)
if defined?(::DidYouMean::SpellChecker)
suggestions = ::DidYouMean::SpellChecker.new(dictionary: @tasks.keys).correct(task_name.to_s)
if ::DidYouMean.respond_to?(:formatter)# did_you_mean v1.2.0 or later
::DidYouMean.formatter.message_for(suggestions)
elsif defined?(::DidYouMean::Formatter) # before did_you_mean v1.2.0
::DidYouMean::Formatter.new(suggestions).to_s
else
""
end

message + suggestion_message
else
""
end
end

def synthesize_file_task(task_name) # :nodoc:
Expand Down

0 comments on commit a991099

Please sign in to comment.