Sha256: f36afd6985460a87a7c59abcf21195546d853fa85a83627ddc1439c80b06de84
Contents?: true
Size: 1.11 KB
Versions: 3
Compression:
Stored size: 1.11 KB
Contents
# encoding: utf-8 module Mongoid #:nodoc module Indexes #:nodoc extend ActiveSupport::Concern included do cattr_accessor :index_options self.index_options = {} end module ClassMethods #:nodoc # Send the actual index creation comments to the MongoDB driver def create_indexes return unless index_options index_options.each do |name, options| self._collection.create_index(name, options) end end # Add the default indexes to the root document if they do not already # exist. Currently this is only _type. def add_indexes if hereditary && !index_options[:_type] self.index_options[:_type] = {:unique => false, :background => true} end create_indexes if Mongoid.autocreate_indexes end # Adds an index on the field specified. Options can be :unique => true or # :unique => false. It will default to the latter. def index(name, options = { :unique => false }) self.index_options[name] = options create_indexes if Mongoid.autocreate_indexes end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
mongoid-2.0.0.beta.11 | lib/mongoid/indexes.rb |
mongoid-2.0.0.beta.10 | lib/mongoid/indexes.rb |
mongoid-2.0.0.beta.12 | lib/mongoid/indexes.rb |