Sha256: dce4d3b65d14d6fc3613f59914706364dcbc5c66aed0d1662db21aee3eaaf3a5

Contents?: true

Size: 603 Bytes

Versions: 2

Compression:

Stored size: 603 Bytes

Contents

module DidYouMean
  module Correctable
    prepend_features NameError

    def original_message
      method(:to_s).super_method.call
    end

    def to_s
      msg = super.dup
      bt  = caller(1, 6)

      if IGNORED_CALLERS.all? {|ignored| bt.grep(ignored).empty? } && (!cause.respond_to?(:corrections) || cause.corrections.empty?)
        msg << Formatter.new(corrections).to_s
      end

      msg
    rescue
      super
    end

    def corrections
      @corrections ||= spell_checker.corrections
    end

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

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
did_you_mean-1.1.3 lib/did_you_mean/core_ext/name_error.rb
did_you_mean-1.0.4 lib/did_you_mean/core_ext/name_error.rb