This module defines all the configuration options for Mongoid, including the database connections.
Connect to the provided database name on the default session.
@note Use only in development or test environments for convenience.
@example Set the database to connect to.
config.connect_to("mongoid_test")
@param [ String ] name The database name.
@since 3.0.0
# File lib/mongoid/config.rb, line 51 def connect_to(name, options = { consistency: :eventual }) self.sessions = { default: { database: name, hosts: [ "localhost:27017" ], options: options } } end
Return field names that could cause destructive things to happen if defined in a Mongoid::Document.
@example Get the destructive fields.
config.destructive_fields
@return [ Array<String> ] An array of bad field names.
# File lib/mongoid/config.rb, line 68 def destructive_fields Components.prohibited_methods end
Load the settings from a compliant mongoid.yml file. This can be used for easy setup with frameworks other than Rails.
@example Configure Mongoid.
Mongoid.load!("/path/to/mongoid.yml")
@param [ String ] path The path to the file. @param [ String, Symbol ] environment The environment to load.
@since 2.0.1
# File lib/mongoid/config.rb, line 82 def load!(path, environment = nil) settings = Environment.load_yaml(path, environment) load_configuration(settings) if settings.present? settings end
Set the configuration options. Will validate each one individually.
@example Set the options.
config.options = { raise_not_found_error: true }
@param [ Hash ] options The configuration options.
@since 3.0.0
# File lib/mongoid/config.rb, line 138 def options=(options) if options options.each_pair do |option, value| Validators::Option.validate(option) send("#{option}=", value) end end end
Override the database to use globally.
@example Override the database globally.
config.override_database(:optional)
@param [ String, Symbol ] name The name of the database.
@return [ String, Symbol ] The global override.
@since 3.0.0
# File lib/mongoid/config.rb, line 98 def override_database(name) Threaded.database_override = name end
Override the session to use globally.
@example Override the session globally.
config.override_session(:optional)
@param [ String, Symbol ] name The name of the session.
@return [ String, Symbol ] The global override.
@since 3.0.0
# File lib/mongoid/config.rb, line 112 def override_session(name) Threaded.session_override = name ? name.to_s : nil end
Purge all data in all collections, including indexes.
@example Purge all data.
Mongoid::Config.purge!
@return [ true ] true.
@since 2.0.2
# File lib/mongoid/config.rb, line 124 def purge! Sessions.default.collections.each do |collection| collection.drop end and true end
Is the application running under passenger?
@example Is the application using passenger?
config.running_with_passenger?
@return [ true, false ] If the app is deployed on Passenger.
@since 3.0.11
# File lib/mongoid/config.rb, line 155 def running_with_passenger? @running_with_passenger ||= defined?(PhusionPassenger) end
Get the session configuration or an empty hash.
@example Get the sessions configuration.
config.sessions
@return [ Hash ] The sessions configuration.
@since 3.0.0
# File lib/mongoid/config.rb, line 167 def sessions @sessions ||= {} end
Set the session configuration options.
@example Set the session configuration options.
config.sessions = { default: { hosts: [ "localhost:27017" ] }}
@param [ Hash ] sessions The configuration options.
@since 3.0.0
# File lib/mongoid/config.rb, line 179 def sessions=(sessions) raise Errors::NoSessionsConfig.new unless sessions sess = sessions.with_indifferent_access Validators::Session.validate(sess) @sessions = sess sess end
Generated with the Darkfish Rdoc Generator 2.