Method: IndexedSearch::Query.split_into_words
- Defined in:
- lib/indexed_search/query.rb
.split_into_words(txt) ⇒ Object
split a string or array of strings into an array of individual word strings, ignoring any blank data used equally well by parsing a simple search query, and by parsing data for indexing
43 44 45 46 47 48 49 50 51 |
# File 'lib/indexed_search/query.rb', line 43 def self.split_into_words(txt) if txt.blank? [] elsif txt.class == Array txt.collect { |a| a.blank? ? [] : UnicodeUtils.casefold(a).scan(word_match_regex) }.flatten else UnicodeUtils.casefold(txt).scan(word_match_regex) end.collect { |w| w[0...IndexedSearch::Word.max_length] } end |