File: op_msg.rb

package info (click to toggle)
ruby-mongo 2.21.3-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 14,764 kB
  • sloc: ruby: 108,806; makefile: 5; sh: 2
file content (34 lines) | stat: -rw-r--r-- 879 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# frozen_string_literal: true

module Mongo
  module Operation
    class UpdateSearchIndex
      # A MongoDB updateSearchIndex operation sent as an op message.
      #
      # @api private
      class OpMsg < OpMsgBase
        include ExecutableTransactionLabel

        private

        # Returns the command to send to the database, describing the
        # desired updateSearchIndex operation.
        #
        # @param [ Connection ] _connection the connection that will receive the
        #   command
        #
        # @return [ Hash ] the selector
        def selector(_connection)
          {
            updateSearchIndex: coll_name,
            :$db => db_name,
            definition: index,
          }.tap do |sel|
            sel[:id] = index_id if index_id
            sel[:name] = index_name if index_name
          end
        end
      end
    end
  end
end