Module: ActiveRecord::Turntable::Helpers::TestHelper

Defined in:
lib/active_record/turntable/helpers/test_helper.rb

Instance Method Summary collapse

Instance Method Details

#FabricateAll(name, overrides = {}, &block) ⇒ Object

all shards



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/active_record/turntable/helpers/test_helper.rb', line 5

def FabricateAll(name, overrides={}, &block)
  obj = Fabrication::Fabricator.generate(name, {
                                           :save => true
                                         }, overrides, &block)

  default_pool = obj.class.connection_pool
  connection_pools = obj.class.connection_handler.instance_variable_get(:@connection_pools)

  ActiveRecord::Base.turntable_connections.each do |conn_name, conn|
    new_obj = obj.dup
    connection_pools[new_obj.class.name] = conn
    new_obj.id = obj.id
    new_obj.send(:create)
  end
  obj
ensure
  connection_pools[obj.class.name] = default_pool
end