Sha256: c2b3cc740269ba8b20bcc49b01611702eabcb86f2c2d59a0403c7a8340a0da8d

Contents?: true

Size: 579 Bytes

Versions: 7

Compression:

Stored size: 579 Bytes

Contents

# frozen_string_literal: true

module Dynamoid
  # @private
  module AdapterPlugin
    class AwsSdkV3
      module Middleware
        class StartKey
          def initialize(next_chain)
            @next_chain = next_chain
          end

          def call(request)
            response = @next_chain.call(request)

            if response.last_evaluated_key
              request[:exclusive_start_key] = response.last_evaluated_key
            else
              throw :stop_pagination
            end

            response
          end
        end
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
dynamoid-3.11.0 lib/dynamoid/adapter_plugin/aws_sdk_v3/middleware/start_key.rb
dynamoid-3.10.0 lib/dynamoid/adapter_plugin/aws_sdk_v3/middleware/start_key.rb
dynamoid-3.9.0 lib/dynamoid/adapter_plugin/aws_sdk_v3/middleware/start_key.rb
dynamoid-3.8.0 lib/dynamoid/adapter_plugin/aws_sdk_v3/middleware/start_key.rb
dynamoid-3.7.1 lib/dynamoid/adapter_plugin/aws_sdk_v3/middleware/start_key.rb
dynamoid-3.7.0 lib/dynamoid/adapter_plugin/aws_sdk_v3/middleware/start_key.rb
dynamoid-3.6.0 lib/dynamoid/adapter_plugin/aws_sdk_v3/middleware/start_key.rb