lib/activesearch/mongoid.rb in activesearch-0.3.0 vs lib/activesearch/mongoid.rb in activesearch-0.3.1

- old
+ new

@@ -1,34 +1,37 @@ require 'activesearch/base' require 'activesearch/proxy' +require 'activesearch/mongoid/full_text_search_query' require 'activesearch/mongoid/index' module ActiveSearch def self.search(text, conditions = {}, options = {}) locale = options[:locale] || I18n.locale conditions[:locale] ||= locale Proxy.new(text, conditions, options) do |text, conditions| - ActiveSearch::Mongoid::Index.search(text, conditions) + ActiveSearch::Mongoid::Index.search(text, conditions, options) end end module Mongoid def self.included(base) base.class_eval do include Base end end - def to_indexable + def to_indexable(depth = 0) {}.tap do |doc| _locale = search_locale search_fields.each do |field| if content = send(field) doc[field.to_s] = if content.is_a?(Hash) && content.has_key?(_locale) ActiveSearch.strip_tags(content[_locale]) + elsif content && content.respond_to?(:to_indexable) + ActiveSearch.strip_tags(content.to_indexable(depth + 1)) else ActiveSearch.strip_tags(content) end end end \ No newline at end of file