class Mongo::ServerSelector::Primary
Encapsulates specifications for selecting the primary server given a list
of candidates.
@since 2.0.0
Constants
- SERVER_FORMATTED_NAME
Name of the this read preference in the server's format.
@since 2.5.0
Public Instance Methods
Get the name of the server mode type.
@example Get the name of the server mode for this preference.
preference.name
@return [ Symbol
] :primary
@since 2.0.0
# File lib/mongo/server_selector/primary.rb, line 39 def name :primary end
Whether the slaveOk bit should be set on wire protocol messages.
I.e. whether the operation can be performed on a secondary server.
@return [ false ] false
@since 2.0.0
# File lib/mongo/server_selector/primary.rb, line 49 def slave_ok? false end
Convert this server preference definition into a format appropriate
for a mongodb server.
@example Convert this server preference definition into a format
for a server. preference = Mongo::ServerSelector::Primary.new preference.to_doc
@return [ Hash ] The server preference formatted for a mongodb server.
@since 2.5.0
# File lib/mongo/server_selector/primary.rb, line 88 def to_doc @doc ||= { mode: SERVER_FORMATTED_NAME } end
Convert this server preference definition into a format appropriate
for a mongos server.
@example Convert this server preference definition into a format
for mongos. preference = Mongo::ServerSelector::Primary.new preference.to_mongos
@return [ nil ] nil
@since 2.0.0
# File lib/mongo/server_selector/primary.rb, line 73 def to_mongos nil end
Private Instance Methods
# File lib/mongo/server_selector/primary.rb, line 107 def max_staleness_allowed? false end
Select the primary server from a list of candidates.
@example Select the primary server given a list of candidates.
preference = Mongo::ServerSelector::Primary.new preference.select([candidate_1, candidate_2])
@return [ Array ] The primary server from the list of candidates.
@since 2.0.0
# File lib/mongo/server_selector/primary.rb, line 103 def select(candidates) primary(candidates) end