class DidYouMean::VariableNameChecker

Attributes

cvar_names[R]
ivar_names[R]
lvar_names[R]
method_names[R]
name[R]

Public Class Methods

new(exception) click to toggle source
# File lib/did_you_mean/spell_checkers/name_error_checkers/variable_name_checker.rb, line 6
def initialize(exception)
  @name       = exception.name.to_s.tr("@", "")
  @lvar_names = RUBY_ENGINE == 'jruby' ? [] : exception.local_variables
  receiver    = exception.receiver

  @method_names = receiver.methods + receiver.private_methods
  @ivar_names   = receiver.instance_variables
  @cvar_names   = receiver.class.class_variables
  @cvar_names  += receiver.class_variables if receiver.kind_of?(Module)
end

Public Instance Methods

corrections() click to toggle source
# File lib/did_you_mean/spell_checkers/name_error_checkers/variable_name_checker.rb, line 17
def corrections
  @corrections ||= SpellChecker
                 .new(dictionary: (lvar_names + method_names + ivar_names + cvar_names))
                 .correct(name)
end