diff options
Diffstat (limited to 'lib/did_you_mean/experimental/initializer_name_correction.rb')
-rw-r--r-- | lib/did_you_mean/experimental/initializer_name_correction.rb | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/lib/did_you_mean/experimental/initializer_name_correction.rb b/lib/did_you_mean/experimental/initializer_name_correction.rb new file mode 100644 index 0000000000..b59c98e774 --- /dev/null +++ b/lib/did_you_mean/experimental/initializer_name_correction.rb @@ -0,0 +1,20 @@ +# frozen-string-literal: true + +require_relative '../levenshtein' + +module DidYouMean + module Experimental + module InitializerNameCorrection + def method_added(name) + super + + distance = Levenshtein.distance(name.to_s, 'initialize') + if distance != 0 && distance <= 2 + warn "warning: #{name} might be misspelled, perhaps you meant initialize?" + end + end + end + + ::Class.prepend(InitializerNameCorrection) + end +end |