Sha256: 7b7ac878f7fccdfd0a45681d4515f63ae0801a6c73a55505fbfe9803707ac45f
Contents?: true
Size: 1009 Bytes
Versions: 10
Compression:
Stored size: 1009 Bytes
Contents
module Elastics module ModelIndexer def self.included(base) base.class_eval do @elastics ||= ClassProxy::Base.new(base) @elastics.extend(ClassProxy::ModelSyncer) @elastics.extend(ClassProxy::ModelIndexer).init def self.elastics; @elastics end case when respond_to?(:find_in_batches) def self.elastics_in_batches(options={}, &block) find_in_batches(options, &block) end when defined?(Mongoid::Document) && include?(Mongoid::Document) def self.elastics_in_batches(options={}, &block) 0.step(count, options[:batch_size]) do |offset| block.call limit(options[:batch_size]).skip(offset).to_a end end end end end def elastics @elastics ||= InstanceProxy::ModelIndexer.new(self) end def elastics_source attributes.reject {|k| k.to_s =~ /^_*id$/} end def elastics_indexable? true end end end
Version data entries
10 entries across 10 versions & 1 rubygems