class Mongo::Operation::Indexes::Result

Defines custom behavior of results when using the listIndexes command.

@since 2.0.0 @api semiprivate

Public Instance Methods

cursor_id() click to toggle source

Get the cursor id for the result.

@example Get the cursor id.

result.cursor_id

@note Even though the wire protocol has a cursor_id field for all

messages of type reply, it is always zero when using the
listIndexes command and must be retrieved from the cursor
document itself.

@return [ Integer ] The cursor id.

@since 2.0.0 @api private

Calls superclass method Mongo::Operation::Result#cursor_id
# File lib/mongo/operation/indexes/result.rb, line 40
def cursor_id
  cursor_document ? cursor_document[CURSOR_ID] : super
end
documents() click to toggle source

Get the documents for the listIndexes result. This is the 'firstBatch' field in the 'cursor' field of the first document returned.

@example Get the documents.

result.documents

@return [ Array<BSON::Document> ] The documents.

@since 2.0.0 @api public

# File lib/mongo/operation/indexes/result.rb, line 67
def documents
  cursor_document[FIRST_BATCH]
end
namespace() click to toggle source

Get the namespace for the cursor.

@example Get the namespace.

result.namespace

@return [ String ] The namespace.

@since 2.0.0 @api private

Calls superclass method Mongo::Operation::Result#namespace
# File lib/mongo/operation/indexes/result.rb, line 53
def namespace
  cursor_document ? cursor_document[NAMESPACE] : super
end
validate!() click to toggle source

Validate the result. In the case where the database or collection does not exist on the server we will get an error, and it's better to raise a meaningful exception here than the ambiguous one when the error occurs.

@example Validate the result.

result.validate!

@raise [ NoNamespace ] If the ns doesn't exist.

@return [ Result ] Self if successful.

@since 2.0.0 @api private

# File lib/mongo/operation/indexes/result.rb, line 85
def validate!
  !successful? ? raise_operation_failure : self
end

Private Instance Methods

cursor_document() click to toggle source
# File lib/mongo/operation/indexes/result.rb, line 91
def cursor_document
  @cursor_document ||= first_document[CURSOR]
end
first_document() click to toggle source
# File lib/mongo/operation/indexes/result.rb, line 95
def first_document
  @first_document ||= reply.documents[0]
end