47 lines
1009 B
Ruby
47 lines
1009 B
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 Sunspot
|
|
module Mongoid
|
|
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
|