Class: Mongoid::Collections::Slaves

Inherits:
Object
  • Object
show all
Includes:
Retry
Defined in:
lib/mongoid/collections/slaves.rb

Overview

This class wraps the MongoDB slaves databases.

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Retry

#retry_on_connection_failure

Constructor Details

#initialize(slaves, name) ⇒ Slaves

Create the new database reader. Will create a collection from the slave databases and cycle through them on each read.

Examples:

Create the slaves.

Reader.new(slaves, "mongoid_people")

Parameters:

  • slaves (Array<Mongo::DB>)

    The slave databases.

  • name (String)

    The database name.



42
43
44
45
46
# File 'lib/mongoid/collections/slaves.rb', line 42

def initialize(slaves, name)
  unless slaves.blank?
    @iterator = CyclicIterator.new(slaves.collect { |db| db.collection(name) })
  end
end

Instance Attribute Details

#iteratorObject (readonly)

Returns the value of attribute iterator.



9
10
11
# File 'lib/mongoid/collections/slaves.rb', line 9

def iterator
  @iterator
end

Instance Method Details

#empty?true, false

Is the collection of slaves empty or not?

Examples:

Is the collection empty?

slaves.empty?

Returns:

  • (true, false)

    If the iterator is set or not.



30
31
32
# File 'lib/mongoid/collections/slaves.rb', line 30

def empty?
  iterator.nil?
end