Module: MakeTextSearch::SubstringsFilter

Extended by:
SubstringsFilter
Included in:
SubstringsFilter
Defined in:
lib/make-text-search/filters.rb

Instance Method Summary collapse

Instance Method Details

#apply_filter(record, value) ⇒ Object



18
19
20
# File 'lib/make-text-search/filters.rb', line 18

def apply_filter(record, value)
  value.gsub(/(\S+)/) { substrings($1).join(" ") }
end

#substrings(word, min_length = 3) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
# File 'lib/make-text-search/filters.rb', line 6

def substrings(word, min_length = 3)
  results = []
  for starts in 0..word.size
    started = word[starts..-1]
    for ends in min_length..started.size
      results << word[starts, ends]
    end
  end

  results
end