module EM::Synchrony::ActiveRecord::Adapter

def add_transaction_record(record)

can be called.
Register a record with the current transaction so that its after_commit and after_rollback callbacks
def add_transaction_record(record)
  current_transaction.add_record(record)
end

def begin_transaction(options = {}) #:nodoc:

:nodoc:
def begin_transaction(options = {}) #:nodoc:
  set_current_transaction(current_transaction.begin(options))
end

def commit_transaction #:nodoc:

:nodoc:
def commit_transaction #:nodoc:
  set_current_transaction(current_transaction.commit)
end

def configure_connection

def configure_connection
  nil
end

def current_transaction #:nodoc:

:nodoc:
def current_transaction #:nodoc:
  @transaction[Fiber.current.object_id] || @closed_transaction
end

def decrement_open_transactions

def decrement_open_transactions
  real_connection.open_transactions -= 1
end

def increment_open_transactions

def increment_open_transactions
  real_connection.open_transactions += 1
end

def open_transactions

def open_transactions
  real_connection.open_transactions
end

def real_connection

def real_connection
  @connection.connection
end

def reset_transaction #:nodoc:

:nodoc:
def reset_transaction #:nodoc:
  @transaction = {}
  @closed_transaction = ::ActiveRecord::ConnectionAdapters::ClosedTransaction.new(self)
end

def rollback_transaction #:nodoc:

:nodoc:
def rollback_transaction #:nodoc:
  set_current_transaction(current_transaction.rollback)
end

def set_current_transaction(t)

def set_current_transaction(t)
  if t == @closed_transaction
    @transaction.delete(Fiber.current.object_id)
  else
    @transaction[Fiber.current.object_id] = t
  end
end

def transaction(*args, &blk)

def transaction(*args, &blk)
  @connection.execute(false) do |conn|
    super
  end
end

def transaction_open?

def transaction_open?
  current_transaction.open?
end