Module: XID::ConnectionAdapters::AbstractAdapter

Defined in:
lib/xid/connection_adapters/abstract_adapter.rb

Instance Method Summary collapse

Instance Method Details

#select_transaction_idObject



23
24
# File 'lib/xid/connection_adapters/abstract_adapter.rb', line 23

def select_transaction_id
end

#supports_transaction_id?Boolean



5
6
7
# File 'lib/xid/connection_adapters/abstract_adapter.rb', line 5

def supports_transaction_id?
  false
end

#transaction(*args, &block) ⇒ Object



13
14
15
16
17
18
19
20
21
# File 'lib/xid/connection_adapters/abstract_adapter.rb', line 13

def transaction(*args, &block)
  if block_given? && block.arity > 0
    super(*args, &lambda { block.call(transaction_id) })
  else
    super
  end
ensure
  @transaction_id = nil if open_transactions == 0
end

#transaction_idObject



9
10
11
# File 'lib/xid/connection_adapters/abstract_adapter.rb', line 9

def transaction_id
  @transaction_id ||= select_transaction_id unless open_transactions == 0
end