Class: ActiveRecord::ConnectionAdapters::SavepointTransaction

Inherits:
Object
  • Object
show all
Defined in:
lib/prefactory/active_record_integration.rb

Instance Method Summary collapse

Instance Method Details

#commitObject



81
82
83
84
85
86
87
88
89
90
91
# File 'lib/prefactory/active_record_integration.rb', line 81

def commit
  connection.release_savepoint(savepoint_name)
  super
  if @fake_commit
    @savepoint_already_released = true
    commit_records
  else
    parent = connection.transaction_manager.current_transaction
    records.each { |r| parent.add_record(r) }
  end
end

#perform_commitObject



102
103
104
105
106
107
108
109
110
# File 'lib/prefactory/active_record_integration.rb', line 102

def perform_commit
  connection.release_savepoint
  if @fake_commit
    @savepoint_already_released = true
    commit_records
  else
    records.each { |r| parent.add_record(r) }
  end
end

#perform_rollbackObject



95
96
97
98
99
100
# File 'lib/prefactory/active_record_integration.rb', line 95

def perform_rollback
  unless @savepoint_already_released
    connection.rollback_to_savepoint
    rollback_records
  end
end

#rollbackObject



73
74
75
76
77
78
79
# File 'lib/prefactory/active_record_integration.rb', line 73

def rollback
  unless @savepoint_already_released
    connection.rollback_to_savepoint(savepoint_name)
    super
    rollback_records
  end
end