diff options
author | Yuki Nishijima <yk.nishijima@gmail.com> | 2021-12-21 22:00:23 +0900 |
---|---|---|
committer | Yuki Nishijima <yk.nishijima@gmail.com> | 2021-12-21 22:00:23 +0900 |
commit | 4560091b1c99ab33db0d653b9dd2d977fe4676d5 (patch) | |
tree | d939738b2ac1216dfd815c1c4e499d76d8e8c989 /lib | |
parent | a6f76122a2395bd914daa0aa04fb5a6ce4e0c045 (diff) |
* gems/default_gems: Make the SPELL_CHECKERS constant as compatible as possible
Diffstat (limited to 'lib')
-rw-r--r-- | lib/did_you_mean.rb | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/lib/did_you_mean.rb b/lib/did_you_mean.rb index 0aef324059..9a77c8ebe7 100644 --- a/lib/did_you_mean.rb +++ b/lib/did_you_mean.rb @@ -114,8 +114,28 @@ module DidYouMean correct_error NoMatchingPatternKeyError, PatternKeyNameChecker if defined?(::NoMatchingPatternKeyError) # TODO: Remove on 3.3: - SPELL_CHECKERS = @spell_checkers + class DeprecatedMapping # :nodoc: + def []=(key, value) + warn "Calling `DidYouMean::SPELL_CHECKERS[#{key.to_s}] = #{value.to_s}' has been deprecated. " \ + "Please call `DidYouMean.correct_error(#{key.to_s}, #{value.to_s})' instead." + + DidYouMean.correct_error(key, value) + end + + def merge!(hash) + warn "Calling `DidYouMean::SPELL_CHECKERS.merge!(error_name => spell_checker)' has been deprecated. " \ + "Please call `DidYouMean.correct_error(error_name, spell_checker)' instead." + + hash.each do |error_class, spell_checker| + DidYouMean.correct_error(error_class, spell_checker) + end + end + end + + # TODO: Remove on 3.3: + SPELL_CHECKERS = DeprecatedMapping.new deprecate_constant :SPELL_CHECKERS + private_constant :DeprecatedMapping # Returns the currently set formatter. By default, it is set to +DidYouMean::Formatter+. def self.formatter |