Parent

Class/Module Index [+]

Quicksearch

Mongoid::Config::ReplsetDatabase

Public Instance Methods

authenticating?() click to toggle source

Do we need to authenticate against the database?

@example Are we authenticating?

db.authenticating?

@return [ true, false ] True if auth is needed, false if not.

@since 2.0.2

# File lib/mongoid/config/replset_database.rb, line 41
def authenticating?
  username || password
end
configure() click to toggle source

Configure the database connections. This will return an array containing one Mongo::DB and nil (to keep compatibility with Mongoid::Config::Database) If you want the reads to go to a secondary node use the :read_secondary(true): option

@example Configure the connection.

db.configure

@return [ Array<Mongo::DB, nil ] The Mongo databases.

@since 2.0.0.rc.5

# File lib/mongoid/config/replset_database.rb, line 15
def configure
  # yes, construction is weird but the driver wants
  # "A list of host-port pairs ending with a hash containing any options"
  # mongo likes symbols
  options = self.inject({ :logger => Mongoid::Logger.new }) do |memo, (k, v)|
    memo[k.to_sym] = v
    memo
  end
  connection = Mongo::ReplSetConnection.new(*(hosts.clone << options))

  if authenticating?
    connection.add_auth(database, username, password)
    connection.apply_saved_authentication
  end

  [ connection.db(database), nil ]
end
method_missing(name, *args, &block) click to toggle source

Convenience for accessing the hash via dot notation.

@example Access a value in alternate syntax.

db.host

@return [ Object ] The value in the hash.

@since 2.0.2

# File lib/mongoid/config/replset_database.rb, line 53
def method_missing(name, *args, &block)
  self[name.to_s]
end

Public Class Methods

new(options = {}) click to toggle source

Create the new db configuration class.

@example Initialize the class.

Config::ReplsetDatabase.new(
  "hosts" => [[host1,port1],[host2,port2]]
)

replSet does not supports auth

@param [ Hash ] options The configuration options.

@option options [ Array ] :hosts The database host. @option options [ String ] :database The database name. @option options [ Boolean ] :read_secondary Tells the driver to read from secondaries. …

@see Mongo::ReplSetConnection for all options

@since 2.0.0.rc.5

# File lib/mongoid/config/replset_database.rb, line 76
def initialize(options = {})
  merge!(options)
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.