class DidYouMean::RequirePathChecker

Constants

ENV_SPECIFIC_EXT
INITIAL_LOAD_PATH

Attributes

path[R]

Public Class Methods

new(exception) click to toggle source
# File did_you_mean/spell_checkers/require_path_checker.rb, line 21
def initialize(exception)
  @path = exception.path
end
requireables() click to toggle source
# File did_you_mean/spell_checkers/require_path_checker.rb, line 15
def self.requireables
  @requireables ||= INITIAL_LOAD_PATH
                      .flat_map {|path| Dir.glob("**/???*{.rb,#{ENV_SPECIFIC_EXT}}", base: path) }
                      .map {|path| path.chomp!(".rb") || path.chomp!(ENV_SPECIFIC_EXT) }
end

Public Instance Methods

corrections() click to toggle source
# File did_you_mean/spell_checkers/require_path_checker.rb, line 25
def corrections
  @corrections ||= begin
                     threshold     = path.size * 2
                     dictionary    = self.class.requireables.reject {|str| str.size >= threshold }
                     spell_checker = path.include?("/") ? TreeSpellChecker : SpellChecker

                     spell_checker.new(dictionary: dictionary).correct(path).uniq
                   end
end