module Mongo::Operation::Write::Command::Writable

Provides common behavior for write commands. Assigns an operation id when executed.

@since 2.0.0

Public Instance Methods

execute(server) click to toggle source

Execute the operation.

@example Execute the operation.

operation.execute(server)

@param [ Mongo::Server ] server The server to send this operation to.

@return [ Result ] The operation response, if there is one.

@since 2.0.0

# File lib/mongo/operation/write/command/writable.rb, line 37
def execute(server)
  server.with_connection do |connection|
    connection.dispatch([ message(server) ], operation_id)
  end
end

Private Instance Methods

message(server) click to toggle source

The wire protocol message for this write operation.

@return [ Mongo::Protocol::Query ] Wire protocol message.

@since 2.0.0

# File lib/mongo/operation/write/command/writable.rb, line 50
def message(server)
  Protocol::Query.new(db_name, Database::COMMAND, selector, options)
end