Sha256: 0dd86a55ffc3fc1148f4e2359ce61d0e940bd1430d6fb7d1879d47dd6b0b0902
Contents?: true
Size: 662 Bytes
Versions: 3
Compression:
Stored size: 662 Bytes
Contents
module Rack class Transaction def initialize(inner, settings) @inner = inner @connection = settings.fetch(:connection) end def call(env) req = Request.new env if req.get? || req.head? || req.options? result = @inner.call env else env['transaction.connection'] = @connection @connection.transaction do result = @inner.call env response = Response.new [], result[0] err = env['sinatra.error'] if err || response.client_error? || response.server_error? raise Sequel::Rollback end end end result end end end
Version data entries
3 entries across 3 versions & 1 rubygems