module MongoSearch::Searchable
Private Instance Methods
extract_keywords(text)
click to toggle source
# File lib/mongo_search.rb, line 70 def extract_keywords(text) self._keywords += KeywordsExtractor.extract(text) unless text.nil? end
extract_keywords_for_association(name, attribute)
click to toggle source
# File lib/mongo_search.rb, line 74 def extract_keywords_for_association(name, attribute) association = send(name) return [] if association.nil? if association.respond_to?(:each) association.each { |doc| extract_keywords(doc[attribute]) } else extract_keywords(association[attribute]) end end
set_keywords()
click to toggle source
# File lib/mongo_search.rb, line 54 def set_keywords self._keywords = [] search_fields.each do |field| if field.respond_to?(:each) field.each do |name, attribute| extract_keywords_for_association(name, attribute) end elsif respond_to?(field) extract_keywords(send(field)) else extract_keywords(self[field]) end end self._keywords.uniq! end