Module: DidYouMean::Correctable
- Defined in:
- lib/did_you_mean/core_ext/name_error.rb
Instance Method Summary collapse
- #corrections ⇒ Object
- #detailed_message(highlight: true, did_you_mean: true) ⇒ Object
-
#original_message ⇒ Object
just for compatibility.
- #spell_checker ⇒ Object
- #to_s ⇒ Object
Instance Method Details
#corrections ⇒ Object
49 50 51 |
# 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) ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/did_you_mean/core_ext/name_error.rb', line 10 def (highlight: true, did_you_mean: true, **) msg = super.dup return msg unless did_you_mean suggestion = DidYouMean.formatter.(corrections) if highlight suggestion = suggestion.gsub(/.+/) { "\e[1m" + $& + "\e[m" } end msg << suggestion msg rescue super end |
#original_message ⇒ Object
just for compatibility
5 6 7 8 |
# File 'lib/did_you_mean/core_ext/name_error.rb', line 5 def # we cannot use alias here because to_s end |
#spell_checker ⇒ Object
53 54 55 |
# 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 ⇒ Object
38 39 40 41 42 43 44 45 46 |
# File 'lib/did_you_mean/core_ext/name_error.rb', line 38 def to_s msg = super.dup suggestion = DidYouMean.formatter.(corrections) msg << suggestion if !msg.include?(suggestion) msg rescue super end |