Sha256: c6c6586e9af7b72ce11d7deecd65e95ab75897b774d401eb99b9d172c4491815

Contents?: true

Size: 788 Bytes

Versions: 4

Compression:

Stored size: 788 Bytes

Contents

module SaferRailsConsole
  module Patches
    module Sandbox
      module AutoRollback
        module ActiveRecord
          module ConnectionAdapters
            module AbstractAdapter
              def log(sql, name = 'SQL', binds = [], statement_name = nil)
                super(sql, name, binds, statement_name) { yield }
              rescue => e
                connection = ::ActiveRecord::Base.connection
                connection.rollback_db_transaction
                connection.begin_db_transaction
                raise e
              end
            end
          end
        end
      end
    end
  end
end

::ActiveRecord::ConnectionAdapters::AbstractAdapter.prepend(SaferRailsConsole::Patches::Sandbox::AutoRollback::ActiveRecord::ConnectionAdapters::AbstractAdapter)

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
safer_rails_console-0.1.3 lib/safer_rails_console/patches/sandbox/auto_rollback.rb
safer_rails_console-0.1.2 lib/safer_rails_console/patches/sandbox/auto_rollback.rb
safer_rails_console-0.1.1 lib/safer_rails_console/patches/sandbox/auto_rollback.rb
safer_rails_console-0.1.0 lib/safer_rails_console/patches/sandbox/auto_rollback.rb