module TestProf::BeforeAll

def begin_transaction(scope = nil, metadata = [])

def begin_transaction(scope = nil, metadata = [])
  raise AdapterMissing if adapter.nil?
  config.run_hooks(:begin, scope, metadata) do
    adapter.begin_transaction
  end
  yield
end

def config

def config
  @config ||= Configuration.new
end

def configure

def configure
  yield config
end

def rollback_transaction(scope = nil, metadata = [])

def rollback_transaction(scope = nil, metadata = [])
  raise AdapterMissing if adapter.nil?
  config.run_hooks(:rollback, scope, metadata) do
    adapter.rollback_transaction
  end
end

def setup_fixtures(test_object)

def setup_fixtures(test_object)
  raise ArgumentError, "Current adapter doesn't support #setup_fixtures" unless adapter.respond_to?(:setup_fixtures)
  adapter.setup_fixtures(test_object)
end