Sha256: 1be8f03cdc849df005c81b0adfa28839fe90bcbea2675bd436f98c5fe10b10ad

Contents?: true

Size: 481 Bytes

Versions: 5

Compression:

Stored size: 481 Bytes

Contents

# frozen_string_literal: true

module CycloneLariat
  class Outbox
    module Extensions
      module SequelOutbox
        def transaction(opts = {}, &block)
          opts = Sequel::OPTS.dup.merge(opts)
          return super unless opts.delete(:with_outbox)

          outbox = CycloneLariat::Outbox.new
          result = super(opts) do |conn|
            block.call(outbox, conn)
          end

          outbox.publish
          result
        end
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
cyclone_lariat-1.0.0 lib/cyclone_lariat/plugins/outbox/extensions/sequel_outbox.rb
cyclone_lariat-1.0.0.rc9 lib/cyclone_lariat/plugins/outbox/extensions/sequel_outbox.rb
cyclone_lariat-1.0.0.rc8 lib/cyclone_lariat/plugins/outbox/extensions/sequel_outbox.rb
cyclone_lariat-1.0.0.rc7 lib/cyclone_lariat/plugins/outbox/extensions/sequel_outbox.rb
cyclone_lariat-1.0.0.rc6 lib/cyclone_lariat/plugins/outbox/extensions/sequel_outbox.rb