Class: Mongoid::Config

Inherits:
Object show all
Includes:
Singleton
Defined in:
lib/mongoid/config.rb

Overview

:nodoc

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeConfig

Defaults the configuration options to true.



17
18
19
# File 'lib/mongoid/config.rb', line 17

def initialize
  reset
end

Instance Attribute Details

#allow_dynamic_fieldsObject

Returns the value of attribute allow_dynamic_fields.



8
9
10
# File 'lib/mongoid/config.rb', line 8

def allow_dynamic_fields
  @allow_dynamic_fields
end

#parameterize_keysObject

Returns the value of attribute parameterize_keys.



8
9
10
# File 'lib/mongoid/config.rb', line 8

def parameterize_keys
  @parameterize_keys
end

#persist_in_safe_modeObject

Returns the value of attribute persist_in_safe_mode.



8
9
10
# File 'lib/mongoid/config.rb', line 8

def persist_in_safe_mode
  @persist_in_safe_mode
end

#raise_not_found_errorObject

Returns the value of attribute raise_not_found_error.



8
9
10
# File 'lib/mongoid/config.rb', line 8

def raise_not_found_error
  @raise_not_found_error
end

#reconnect_timeObject

Returns the value of attribute reconnect_time.



8
9
10
# File 'lib/mongoid/config.rb', line 8

def reconnect_time
  @reconnect_time
end

#use_object_idsObject

Returns the value of attribute use_object_ids.



8
9
10
# File 'lib/mongoid/config.rb', line 8

def use_object_ids
  @use_object_ids
end

#use_utcObject 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.

Example:

Config.use_utc

Returns:

A boolean



46
47
48
# File 'lib/mongoid/config.rb', line 46

def use_utc
  @use_utc
end

Instance Method Details

#from_hash(settings) ⇒ Object

Confiure mongoid from a hash that was usually parsed out of yml.

Example:

Mongoid::Config.instance.from_hash({})



116
117
118
119
120
121
122
# File 'lib/mongoid/config.rb', line 116

def from_hash(settings)
  _master(settings)
  _slaves(settings)
  settings.except("database").each_pair do |name, value|
    send("#{name}=", value) if respond_to?(name)
  end
end

#masterObject Also known as: database

Returns the master database, or if none has been set it will raise an error.

Example:

Config.master

Returns:

The master Mongo::DB



74
75
76
# File 'lib/mongoid/config.rb', line 74

def master
  @master || (raise Errors::InvalidDatabase.new(nil))
end

#master=(db) ⇒ Object Also known as: database=

Sets the Mongo::DB master database to be used. If the object trying to be set is not a valid Mongo::DB, then an error will be raised.

Example:

Config.master = Mongo::Connection.db("test")

Returns:

The Master DB instance.



59
60
61
62
# File 'lib/mongoid/config.rb', line 59

def master=(db)
  check_database!(db)
  @master = db
end

#reconnect!(now = true) ⇒ Object

Convenience method for connecting to the master database after forking a new process.

Example:

Mongoid.reconnect!



130
131
132
133
134
135
136
137
138
# File 'lib/mongoid/config.rb', line 130

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

#resetObject

Reset the configuration options to the defaults.

Example:

config.reset



146
147
148
149
150
151
152
153
154
# File 'lib/mongoid/config.rb', line 146

def reset
  @allow_dynamic_fields = true
  @parameterize_keys = true
  @persist_in_safe_mode = true
  @raise_not_found_error = true
  @reconnect_time = 3
  @use_object_ids = false
  @time_zone = nil
end

#slavesObject

Returns the slave databases, or if none has been set nil

Example:

Config.slaves

Returns:

The slave Mongo::DBs



107
108
109
# File 'lib/mongoid/config.rb', line 107

def slaves
  @slaves
end

#slaves=(dbs) ⇒ Object

Sets the Mongo::DB slave databases to be used. If the objects trying to me set are not valid Mongo::DBs, then an error will be raise.

Example:

Config.slaves = [ Mongo::Connection.db("test") ]

Returns:

The slaves DB instances.



91
92
93
94
95
96
# File 'lib/mongoid/config.rb', line 91

def slaves=(dbs)
  dbs.each do |db|
    check_database!(db)
  end
  @slaves = dbs
end