Sha256: 7977d0029a7a60f0665eb1c614ea4da7698512d3c3f16b95024f8e862b0e9311

Contents?: true

Size: 664 Bytes

Versions: 4

Compression:

Stored size: 664 Bytes

Contents

# frozen_string_literal: true

module Eventsimple
  module Outbox
    class Cursor < Eventsimple.configuration.parent_record_klass
      self.table_name = 'eventsimple_outbox_cursors'

      def self.fetch(identifier, group_number: 0)
        existing = find_by(identifier: identifier.to_s, group_number: group_number)
        existing ? existing.cursor : 0
      end

      def self.set(identifier, cursor, group_number: 0)
        upsert(
          {
            identifier: identifier.to_s,
            group_number: group_number,
            cursor: cursor,
          },
          unique_by: [:identifier, :group_number],
        )
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
eventsimple-1.4.3 lib/eventsimple/outbox/models/cursor.rb
eventsimple-1.4.2 lib/eventsimple/outbox/models/cursor.rb
eventsimple-1.4.1 lib/eventsimple/outbox/models/cursor.rb
eventsimple-1.4.0 lib/eventsimple/outbox/models/cursor.rb