class RSpec::Core::DidYouMean
@private Wrapper around Ruby’s ‘DidYouMean::SpellChecker` when available to provide file name suggestions.
Attributes
relative_file_name[R]
Public Class Methods
new(relative_file_name)
click to toggle source
# File lib/rspec/core/did_you_mean.rb, line 8 def initialize(relative_file_name) @relative_file_name = relative_file_name end
Public Instance Methods
call()
click to toggle source
provide probable suggestions
# File lib/rspec/core/did_you_mean.rb, line 14 def call checker = ::DidYouMean::SpellChecker.new(:dictionary => Dir["spec/**/*.rb"]) probables = checker.correct(relative_file_name.sub('./', ''))[0..2] return '' unless probables.any? formats probables end
Private Instance Methods
formats(probables)
click to toggle source
# File lib/rspec/core/did_you_mean.rb, line 30 def formats(probables) rspec_format = probables.map { |s, _| "rspec ./#{s}" } red_font(top_and_tail rspec_format) end
red_font(mytext)
click to toggle source
# File lib/rspec/core/did_you_mean.rb, line 40 def red_font(mytext) colorizer = ::RSpec::Core::Formatters::ConsoleCodes colorizer.wrap mytext, :failure end
top_and_tail(rspec_format)
click to toggle source
# File lib/rspec/core/did_you_mean.rb, line 35 def top_and_tail(rspec_format) spaces = ' ' * 20 rspec_format.insert(0, ' - Did you mean?').join("\n#{spaces}") + "\n" end