Class: Moped::ReadPreference::PrimaryPreferred
- Inherits:
-
Object
- Object
- Moped::ReadPreference::PrimaryPreferred
- Includes:
- Selectable
- Defined in:
- lib/moped/read_preference/primary_preferred.rb
Overview
Encapsulates behaviour around a primary preferred read preference.
Instance Attribute Summary
Attributes included from Selectable
Instance Method Summary collapse
-
#name ⇒ Symbol
Get the name for the read preference on the server side.
-
#with_node(cluster, &block) ⇒ Object
Select a primary node from the cluster.
Methods included from Selectable
Instance Method Details
#name ⇒ Symbol
Get the name for the read preference on the server side.
19 20 21 |
# File 'lib/moped/read_preference/primary_preferred.rb', line 19 def name :primaryPreferred end |
#with_node(cluster, &block) ⇒ Object
Note:
If tag sets are provided then secondary with_nodeion will need to match the provided tags.
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.
44 45 46 47 48 49 50 51 52 |
# File 'lib/moped/read_preference/primary_preferred.rb', line 44 def with_node(cluster, &block) with_retry(cluster) do begin cluster.with_primary(&block) rescue Errors::ConnectionFailure cluster.with_secondary(&block) end end end |