47 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Ruby
		
	
	
	
			
		
		
	
	
			47 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Ruby
		
	
	
	
# coding: utf-8
 | 
						|
# this is from : https://github.com/jugyo/sunspot_mongoid
 | 
						|
# this file is special for mongoid_auto_increment_id
 | 
						|
require 'sunspot'
 | 
						|
require 'mongoid'
 | 
						|
require 'sunspot/rails'
 | 
						|
 | 
						|
# == Examples:
 | 
						|
#
 | 
						|
# class Post
 | 
						|
#   include Mongoid::Document
 | 
						|
#   field :title
 | 
						|
#
 | 
						|
#   include Sunspot::Mongoid
 | 
						|
#   searchable do
 | 
						|
#     text :title
 | 
						|
#   end
 | 
						|
# end
 | 
						|
#
 | 
						|
module OrbitSearchLib
 | 
						|
  module ObjectSearchable
 | 
						|
    def self.included(base)
 | 
						|
      base.class_eval do
 | 
						|
        extend Sunspot::Rails::Searchable::ActsAsMethods
 | 
						|
        Sunspot::Adapters::DataAccessor.register(DataAccessor, base)
 | 
						|
        Sunspot::Adapters::InstanceAdapter.register(InstanceAdapter, base)
 | 
						|
      end
 | 
						|
    end
 | 
						|
 | 
						|
    class InstanceAdapter < Sunspot::Adapters::InstanceAdapter
 | 
						|
      def id
 | 
						|
        @instance.id
 | 
						|
      end
 | 
						|
    end
 | 
						|
 | 
						|
    class DataAccessor < Sunspot::Adapters::DataAccessor
 | 
						|
      def load(id)
 | 
						|
        @clazz.where(:_id => id).first
 | 
						|
      end
 | 
						|
 | 
						|
      def load_all(ids)
 | 
						|
        @clazz.where(:_id.in => ids.collect { |id| id.to_i })
 | 
						|
      end
 | 
						|
    end
 | 
						|
  end
 | 
						|
end
 |