Sha256: 2ecfefda2dba26d2bb0237c1422933e28c212e408fb16ed35e2f40349a45c0d9
Contents?: true
Size: 561 Bytes
Versions: 1
Compression:
Stored size: 561 Bytes
Contents
module Lunar # @private Used internally by Lunar::search to get all the fuzzy matches # given `nest`, `att` and it's `val`. class FuzzyMatches attr :nest attr :att attr :value def initialize(nest, att, value) @nest, @att, @value = nest, att.to_sym, value end def distkey return if keys.empty? nest[{ att => value }.hash].tap do |dk| dk.zunionstore keys.flatten end end protected def keys Words.new(value, false).map { |w| nest[:Fuzzies][att][Lunar.encode(w)] } end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
lunar-0.5.5 | lib/lunar/fuzzy_matches.rb |