module Mongo::BulkWrite::Combineable

Defines behavior around combiners

@api private

@since 2.1.0

Attributes

has_array_filters[R]

@return [ true, false ] has_array_filters Whether one or more operations specifies an array filters option.

has_collation[R]

@return [ true, false ] has_collation Whether one or more operations has a collation defined.

requests[R]

@return [ Array<Hash, BSON::Document> ] requests The provided requests.

Public Class Methods

new(requests) click to toggle source

Create the ordered combiner.

@api private

@example Create the ordered combiner.

OrderedCombiner.new([{ insert_one: { _id: 0 }}])

@param [ Array<Hash, BSON::Document> ] requests The bulk requests.

@since 2.1.0

# File lib/mongo/bulk_write/combineable.rb, line 45
def initialize(requests)
  @requests = requests
  @has_collation = false
  @has_array_filters = false
end

Private Instance Methods

combine_requests(ops) click to toggle source
# File lib/mongo/bulk_write/combineable.rb, line 53
def combine_requests(ops)
  requests.reduce(ops) do |operations, request|
    add(operations, request.keys.first, request.values.first)
  end
end