Sha256: 3f9f3684da78f0c1f7f015c7187780079183b43c6175d1bac4530dcc7252e450
Contents?: true
Size: 663 Bytes
Versions: 1
Compression:
Stored size: 663 Bytes
Contents
require_relative "../spell_checker" module DidYouMean class KeyErrorChecker def initialize(key_error) @key = key_error.key @keys = key_error.receiver.keys end def corrections @corrections ||= exact_matches.empty? ? SpellChecker.new(dictionary: @keys).correct(@key).map(&:inspect) : exact_matches end private def exact_matches @exact_matches ||= @keys.select { |word| @key == word.to_s }.map { |obj| format_object(obj) } end def format_object(symbol_or_object) if symbol_or_object.is_a?(Symbol) ":#{symbol_or_object}" else symbol_or_object.to_s end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
did_you_mean-2.0.0 | lib/did_you_mean/spell_checkers/key_error_checker.rb |