Module: Mongoid::Clients::StorageOptions::ClassMethods

Defined in:
build/mongoid-7.3/lib/mongoid/clients/storage_options.rb

Instance Method Summary collapse

Instance Method Details

#reset_storage_options!Object

Reset the store_in options

Examples:

Reset the store_in options

Model.reset_storage_options!

Since:

  • 4.0.0



64
65
66
67
# File 'build/mongoid-7.3/lib/mongoid/clients/storage_options.rb', line 64

def reset_storage_options!
  self.storage_options = storage_options_defaults.dup
  PersistenceContext.clear(self)
end

#storage_options_defaultsHash

Get the default storage options.

Examples:

Get the default storage options.

Model.storage_options_defaults

Returns:

  • (Hash)

    Default storage options.

Since:

  • 4.0.0



77
78
79
80
81
82
# File 'build/mongoid-7.3/lib/mongoid/clients/storage_options.rb', line 77

def storage_options_defaults
  {
    collection: name.collectionize.to_sym,
    client: :default
  }
end

#store_in(options) ⇒ Class

Give this model specific custom default storage options.

Examples:

Store this model by default in “artists”

class Band
  include Mongoid::Document
  store_in collection: "artists"
end

Store this model by default in the sharded db.

class Band
  include Mongoid::Document
  store_in database: "echo_shard"
end

Store this model by default in a different client.

class Band
  include Mongoid::Document
  store_in client: "analytics"
end

Store this model with a combination of options.

class Band
  include Mongoid::Document
  store_in collection: "artists", database: "music"
end

Parameters:

  • options (Hash)

    The storage options.

Options Hash (options):

  • :collection (String | Symbol)

    The collection name.

  • :database (String | Symbol)

    The database name.

  • :client (String | Symbol)

    The client name.

Returns:

  • (Class)

    The model class.

Since:

  • 3.0.0



53
54
55
56
# File 'build/mongoid-7.3/lib/mongoid/clients/storage_options.rb', line 53

def store_in(options)
  Validators::Storage.validate(self, options)
  storage_options.merge!(options)
end