Sha256: bdc34023b80cd5b57eff32b8f576d714dffe6ca154e77a8d9f0a387d2b37f1e0
Contents?: true
Size: 803 Bytes
Versions: 1
Compression:
Stored size: 803 Bytes
Contents
require 'activesearch/mongoid/model' module ActiveSearch # TODO: Wrap this so all engines behave consistently def self.search(text) Mongoid::Model.all_in(keywords: text.split) end module Mongoid def self.included(base) base.extend ClassMethods end module ClassMethods def search_on(*fields) # TODO: Use inheritable class variables, so ActiveSearch::Mongoid::Model can get fields and options from there self.class_eval <<-EOV after_save do fields = #{fields} options = fields.pop if fields.last.is_a?(Hash) return unless fields.any? { |f| self.send("\#{f}_changed?") } ActiveSearch::Mongoid::Model.reindex(self, fields, options) end EOV end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
activesearch-0.0.2 | lib/activesearch/mongoid.rb |