Sha256: 4df088d6365b87e547f9fc75f004fd062353bf8c490293009c3cf1e9e20f1ee5
Contents?: true
Size: 836 Bytes
Versions: 4
Compression:
Stored size: 836 Bytes
Contents
# frozen_string_literal: true class Grumlin::Transaction attr_reader :session_id, :pool include Console COMMIT = Grumlin::Repository.new.g.step(:tx, :commit) ROLLBACK = Grumlin::Repository.new.g.step(:tx, :rollback) def initialize(traversal_start_class, pool:, middlewares:) @traversal_start_class = traversal_start_class @pool = pool @session_id = SecureRandom.uuid @middlewares = middlewares end def begin @traversal_start_class.new(session_id: @session_id, pool: @pool) end def commit finalize(COMMIT) end def rollback finalize(ROLLBACK) end private def finalize(step) @middlewares.call(traversal: step, need_results: false, session_id: @session_id, pool: @pool) ensure @pool.close end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
grumlin-1.2.0 | lib/grumlin/transaction.rb |
grumlin-1.1.0 | lib/grumlin/transaction.rb |
grumlin-1.0.4 | lib/grumlin/transaction.rb |
grumlin-1.0.3 | lib/grumlin/transaction.rb |