Skip to content

Instantly share code, notes, and snippets.

@jpr5
Created December 17, 2010 22:10

Revisions

  1. jpr5 created this gist Dec 17, 2010.
    4 changes: 4 additions & 0 deletions 1_notes.txt
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,4 @@
    Depends on:

    - https://github.com/datamapper/do/commit/74645c46ac9b210c5e4029853b8a23fe02defd71
    - https://github.com/datamapper/dm-transactions/commit/242e60473a341a151df62ea707264f06f418b077
    16 changes: 16 additions & 0 deletions 2_database_steps.rb
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,16 @@
    known_repositories = ::DataMapper::Model.descendants.map { |m| m.repository }.uniq

    Before do
    known_repositories.each do |r|
    t = r.transaction
    t.begin
    r.adapter.push_transaction(t)
    end
    end

    After do
    known_repositories.each do |r|
    t = r.adapter.pop_transaction
    t.rollback
    end
    end