# File lib/moped/cluster.rb, line 245
    def with_primary(&block)
      if node = nodes.find(&:primary?)
        begin
          node.ensure_primary do
            return yield(node)
          end
        rescue Errors::ConnectionFailure, Errors::ReplicaSetReconfigured
        end
      end
      raise Errors::ConnectionFailure, "Could not connect to a primary node for replica set #{inspect}"
    end