module DidYouMean::Correctable - Documentation for Ruby 3.3

# module DidYouMean::Correctable

### Constants

SKIP_TO_S_FOR_SUPER_LOOKUP

### Public Instance Methods

corrections() click to toggle source

    # File lib/did_you_mean/core_ext/name_error.rb, line 49
    def corrections
      @corrections ||= spell_checker.corrections
    end

detailed_message(highlight: true, did_you_mean: true, **) click to toggle source
Calls superclass method

    # File lib/did_you_mean/core_ext/name_error.rb, line 10
    def detailed_message(highlight: true, did_you_mean: true, **)
      msg = super.dup

      return msg unless did_you_mean

      suggestion = DidYouMean.formatter.message_for(corrections)

      if highlight
        suggestion = suggestion.gsub(/.+/) { "\e[1m" + $& + "\e[m" }
      end

      msg << suggestion
      msg
    rescue
      super
    end

original_message() click to toggle source

just for compatibility

    # File lib/did_you_mean/core_ext/name_error.rb, line 5
    def original_message
      # we cannot use alias here because
      to_s
    end

spell_checker() click to toggle source

    # File lib/did_you_mean/core_ext/name_error.rb, line 53
    def spell_checker
      DidYouMean.spell_checkers[self.class.to_s].new(self)
    end

to_s() click to toggle source
Calls superclass method

    # File lib/did_you_mean/core_ext/name_error.rb, line 38
    def to_s
      msg = super.dup
      suggestion = DidYouMean.formatter.message_for(corrections)

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