Module: Mongoid::Config
- Extended by:
- Config
- Includes:
- ActiveModel::Observing
- Included in:
- Config
- Defined in:
- lib/mongoid/config.rb,
lib/mongoid/config/database.rb,
lib/mongoid/config/replset_database.rb
Overview
:nodoc:
Defined Under Namespace
Classes: Database, ReplsetDatabase
Instance Attribute Summary collapse
-
#master ⇒ Mongo::DB
(also: #database)
Returns the master database, or if none has been set it will raise an error.
-
#settings ⇒ Object
Returns the value of attribute settings.
-
#slaves ⇒ Array<Mongo::DB>?
Returns the slave databases or nil if none have been set.
-
#use_activesupport_time_zone ⇒ Object
(also: #use_activesupport_time_zone?)
Sets whether the times returned from the database use the ruby or the ActiveSupport time zone.
-
#use_utc ⇒ true, false
(also: #use_utc?)
Returns whether times are return from the database in UTC.
Instance Method Summary collapse
-
#add_language(language_code = nil) ⇒ Object
Adds a new I18n locale file to the load path.
-
#databases ⇒ Hash
Get any extra databases that have been configured.
-
#databases=(databases) ⇒ Object
what the exact expectation was.
-
#destructive_fields ⇒ Array<String>
Return field names that could cause destructive things to happen if defined in a Mongoid::Document.
-
#from_hash(options = {}) ⇒ Object
Configure mongoid from a hash.
-
#logger ⇒ Logger
Returns the logger, or defaults to Rails logger or stdout logger.
-
#logger=(logger) ⇒ Logger
Sets the logger for Mongoid to use.
-
#option(name, options = {}) ⇒ Object
Define a configuration option with a default.
-
#reconnect!(now = true) ⇒ Object
Convenience method for connecting to the master database after forking a new process.
-
#reset ⇒ Object
Reset the configuration options to the defaults.
Instance Attribute Details
#master ⇒ Mongo::DB Also known as: database
Returns the master database, or if none has been set it will raise an error.
192 193 194 |
# File 'lib/mongoid/config.rb', line 192 def master @master end |
#settings ⇒ Object
Returns the value of attribute settings.
16 17 18 |
# File 'lib/mongoid/config.rb', line 16 def settings @settings end |
#slaves ⇒ Array<Mongo::DB>?
Returns the slave databases or nil if none have been set.
255 256 257 |
# File 'lib/mongoid/config.rb', line 255 def slaves @slaves end |
#use_activesupport_time_zone ⇒ Object Also known as: use_activesupport_time_zone?
Sets whether the times returned from the database use the ruby or the ActiveSupport time zone. If the setting is false, then times will use the ruby time zone.
Example:
Config.use_activesupport_time_zone
Returns:
A boolean
163 164 165 |
# File 'lib/mongoid/config.rb', line 163 def use_activesupport_time_zone @use_activesupport_time_zone end |
#use_utc ⇒ true, false Also known as: use_utc?
Returns whether times are return from the database in UTC. If this setting is false, then times will be returned in the local time zone.
283 284 285 |
# File 'lib/mongoid/config.rb', line 283 def use_utc @use_utc end |
Instance Method Details
#add_language(language_code = nil) ⇒ Object
Adds a new I18n locale file to the load path.
60 61 62 63 64 65 66 67 68 |
# File 'lib/mongoid/config.rb', line 60 def add_language(language_code = nil) Dir[ File.join( File.dirname(__FILE__), "..", "config", "locales", "#{language_code}.yml" ) ].each do |file| I18n.load_path << File.(file) end end |
#databases ⇒ Hash
Get any extra databases that have been configured.
76 77 78 79 |
# File 'lib/mongoid/config.rb', line 76 def databases configure_extras(@settings["databases"]) unless @databases || !@settings @databases || {} end |
#databases=(databases) ⇒ Object
Durran: There were no tests around the databases setter, not sure
what the exact expectation was. Set with a hash?
83 84 |
# File 'lib/mongoid/config.rb', line 83 def databases=(databases) end |
#destructive_fields ⇒ Array<String>
Return field names that could cause destructive things to happen if defined in a Mongoid::Document.
93 94 95 96 97 98 99 100 |
# File 'lib/mongoid/config.rb', line 93 def destructive_fields @destructive_fields ||= lambda { klass = Class.new do include Mongoid::Document end klass.instance_methods(true).collect { |method| method.to_s } }.call end |
#from_hash(options = {}) ⇒ Object
Configure mongoid from a hash. This is usually called after parsing a yaml config file such as mongoid.yml.
109 110 111 112 113 114 115 |
# File 'lib/mongoid/config.rb', line 109 def from_hash( = {}) .except("database", "slaves", "databases").each_pair do |name, value| send("#{name}=", value) if respond_to?("#{name}=") end configure_databases() configure_extras(["databases"]) end |
#logger ⇒ Logger
Returns the logger, or defaults to Rails logger or stdout logger.
123 124 125 |
# File 'lib/mongoid/config.rb', line 123 def logger @logger ||= defined?(Rails) ? Rails.logger : ::Logger.new($stdout) end |
#logger=(logger) ⇒ Logger
Sets the logger for Mongoid to use.
133 134 135 |
# File 'lib/mongoid/config.rb', line 133 def logger=(logger) @logger = logger end |
#option(name, options = {}) ⇒ Object
Define a configuration option with a default.
30 31 32 33 34 35 36 |
# File 'lib/mongoid/config.rb', line 30 def option(name, = {}) define_method(name) do settings.has_key?(name) ? settings[name] : [:default] end define_method("#{name}=") { |value| settings[name] = value } define_method("#{name}?") { send(name) } end |
#reconnect!(now = true) ⇒ Object
Convenience method for connecting to the master database after forking a new process.
212 213 214 215 216 217 218 219 220 |
# File 'lib/mongoid/config.rb', line 212 def reconnect!(now = true) if now master.connection.connect else # We set a @reconnect flag so that #master knows to reconnect the next # time the connection is accessed. @reconnect = true end end |
#reset ⇒ Object
Reset the configuration options to the defaults.
226 227 228 |
# File 'lib/mongoid/config.rb', line 226 def reset settings.clear end |