Class Moped::ReadPreference::PrimaryPreferred
In: lib/moped/read_preference/primary_preferred.rb
Parent: Object

Encapsulates behaviour around a primary preferred read preference.

@since 2.0.0

Methods

name   with_node  

Included Modules

Selectable

Public Instance methods

Get the name for the read preference on the server side.

@example Get the name of the read preference.

  primary_preferred.name

@return [ Symbol ] :primaryPreferred.

@since 2.0.0

Select a primary node from the cluster. If no primary node is available then attempt to select a secondary. If no secondary is available then an exception will be raised.

@example Prefer to with_node a primary node from the cluster.

  preference.with_node(cluster) do |node|
    node.command(ismaster: 1)
  end

@note If tag sets are provided then secondary with_nodeion will need to

  match the provided tags.

@param [ Cluster ] cluster The cluster of nodes to select from. @param [ Proc ] block The block to execute on the node.

@raise [ Errors::ConnectionFailure ] If no primary or secondary node was

  available in the cluster.

@return [ Object ] The result of the block.

@since 2.0.0

[Validate]