module Mongo::Operation::OpMsgOrFindCommand

Shared behavior of executing the operation as an OpMsg when supported, as a Command when find command is supported by the server, and as Legacy otherwise.

@api private

Private Instance Methods

final_operation(connection) click to toggle source
# File lib/mongo/operation/shared/op_msg_or_find_command.rb, line 32
def final_operation(connection)
  cls = if connection.features.op_msg_enabled?
    polymorphic_class(self.class.name, :OpMsg)
  elsif connection.features.find_command_enabled?
    polymorphic_class(self.class.name, :Command)
  else
    polymorphic_class(self.class.name, :Legacy)
  end
  cls.new(spec)
end