Module: FactoryGirl::Preload
- Defined in:
- lib/factory_girl/preload.rb,
lib/factory_girl/preload/helpers.rb,
lib/factory_girl/preload/version.rb
Defined Under Namespace
Modules: Helpers, Version
Class Attribute Summary collapse
Class Method Summary
collapse
Class Attribute Details
.factories ⇒ Object
Returns the value of attribute factories.
11
12
13
|
# File 'lib/factory_girl/preload.rb', line 11
def factories
@factories
end
|
.preloaders ⇒ Object
Returns the value of attribute preloaders.
10
11
12
|
# File 'lib/factory_girl/preload.rb', line 10
def preloaders
@preloaders
end
|
Class Method Details
.clean(*names) ⇒ Object
27
28
29
30
31
32
33
34
35
36
37
|
# File 'lib/factory_girl/preload.rb', line 27
def self.clean(*names)
query = case ActiveRecord::Base.connection.adapter_name
when "SQLite" then "DELETE FROM %s"
when "PostgreSQL" then "TRUNCATE TABLE %s RESTART IDENTITY"
else "TRUNCATE TABLE %s"
end
names = ActiveRecord::Base.descendants.collect(&:table_name).uniq if names.empty?
ActiveRecord::Base.connection.disable_referential_integrity do
names.each {|table| ActiveRecord::Base.connection.execute(query % ActiveRecord::Base.connection.quote_table_name(table))}
end
end
|
.reload_factories ⇒ Object
39
40
41
42
43
44
45
|
# File 'lib/factory_girl/preload.rb', line 39
def self.reload_factories
factories.each do |class_name, group|
group.each do |name, factory|
factories[class_name][name] = factory.class.find(factory.id)
end
end
end
|
.run ⇒ Object
17
18
19
20
21
22
23
24
25
|
# File 'lib/factory_girl/preload.rb', line 17
def self.run
helper = Object.new.extend(Helpers)
ActiveRecord::Base.connection.transaction :requires_new => true do
preloaders.each do |block|
helper.instance_eval(&block)
end
end
end
|