Sha256: 85b06effce9588b238a9dbc1c61eb1657e2ac78188c61f9fd1caa8e639175ade

Contents?: true

Size: 468 Bytes

Versions: 5

Compression:

Stored size: 468 Bytes

Contents

# frozen-string-literal: true

require 'did_you_mean/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

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
did_you_mean-1.3.1 lib/did_you_mean/experimental/initializer_name_correction.rb
did_you_mean-1.2.2 lib/did_you_mean/experimental/initializer_name_correction.rb
did_you_mean-1.3.0 lib/did_you_mean/experimental/initializer_name_correction.rb
did_you_mean-1.2.1 lib/did_you_mean/experimental/initializer_name_correction.rb
did_you_mean-1.2.0 lib/did_you_mean/experimental/initializer_name_correction.rb