Class: DataMapper::Transaction

Inherits:
Object
  • Object
show all
Defined in:
lib/dm-nested-transactions.rb

Instance Method Summary collapse

Instance Method Details

#connect_adapter(adapter) ⇒ Object

Overridden to allow nested transactions



20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/dm-nested-transactions.rb', line 20

def connect_adapter(adapter)
  if @transaction_primitives.key?(adapter)
    raise "Already a primitive for adapter #{adapter}"
  end

  primitive = if adapter.current_transaction
    adapter.nested_transaction_primitive
  else
    adapter.transaction_primitive
  end

  @transaction_primitives[adapter] = validate_primitive(primitive)
end