lib/mongo/operation/write/update_user.rb in mongo-2.1.0.beta vs lib/mongo/operation/write/update_user.rb in mongo-2.1.0.rc0

- old
+ new

@@ -28,43 +28,17 @@ # option spec :user [ Auth::User ] The user to update. # option spec :db_name [ String ] The name of the database. # # @since 2.0.0 class UpdateUser - include Executable + include GLE + include WriteCommandEnabled include Specifiable - # Execute the operation. - # - # @note Updating users behaves different on 2.7+, 2.6.x, and - # 2.4- so we need to break this out into separate operations. - # - # @example Execute the operation. - # operation.execute(context) - # - # @param [ Mongo::Server::Context ] context The context for this operation. - # - # @return [ Result ] The operation result. - # - # @since 2.0.0 - def execute(context) - if context.features.write_command_enabled? - execute_write_command(context) - else - execute_message(context) - end - end - private - def execute_write_command(context) - Result.new(Command::UpdateUser.new(spec).execute(context)).validate! - end - - def execute_message(context) - context.with_connection do |connection| - Result.new(connection.dispatch([ message, gle ].compact)).validate! - end + def write_command_op + Command::UpdateUser.new(spec) end def message user_spec = { user: user.name }.merge(user.spec) Protocol::Update.new(db_name, Auth::User::COLLECTION, { user: user.name }, user_spec)