Sha256: a76f395e60d309f7151107b389ab29bd0f07c799abc51d8cf06ee2d90d1ac74e

Contents?: true

Size: 687 Bytes

Versions: 1

Compression:

Stored size: 687 Bytes

Contents

module DidYouMean
  module Correctable
    SKIP_TO_S_FOR_SUPER_LOOKUP = true
    private_constant :SKIP_TO_S_FOR_SUPER_LOOKUP

    def original_message
      meth = method(:to_s)
      while meth.owner.const_defined?(:SKIP_TO_S_FOR_SUPER_LOOKUP)
        meth = meth.super_method
      end
      meth.call
    end

    def to_s
      msg = super.dup
      suggestion = DidYouMean.formatter.message_for(corrections)

      msg << suggestion if !msg.include?(suggestion)
      msg
    rescue
      super
    end

    def corrections
      @corrections ||= spell_checker.corrections
    end

    def spell_checker
      DidYouMean.spell_checkers[self.class.to_s].new(self)
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
did_you_mean-1.6.1 lib/did_you_mean/core_ext/name_error.rb