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
.clean_with ⇒ Object
Returns the value of attribute clean_with.
13
14
15
|
# File 'lib/factory_girl/preload.rb', line 13
def clean_with
@clean_with
end
|
.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
|
.record_ids ⇒ Object
Returns the value of attribute record_ids.
12
13
14
|
# File 'lib/factory_girl/preload.rb', line 12
def record_ids
@record_ids
end
|
Class Method Details
.active_record ⇒ Object
21
22
23
|
# File 'lib/factory_girl/preload.rb', line 21
def self.active_record
ActiveRecord::Base
end
|
.clean(*names) ⇒ Object
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
# File 'lib/factory_girl/preload.rb', line 39
def self.clean(*names)
query = case clean_with
when :truncation then try_truncation_query
when :deletion then "DELETE FROM %s"
else raise "Couldn't find #{clean_with} clean type"
end
names = active_record.descendants.collect(&:table_name).uniq if names.empty?
connection.disable_referential_integrity do
names.each do |table|
connection.execute(query % connection.quote_table_name(table))
end
end
end
|
.connection ⇒ Object
25
26
27
|
# File 'lib/factory_girl/preload.rb', line 25
def self.connection
active_record.connection
end
|
.reload_factories ⇒ Object
55
56
57
58
59
60
61
|
# File 'lib/factory_girl/preload.rb', line 55
def self.reload_factories
factories.each do |class_name, group|
group.each do |name, factory|
factories[class_name][name] = nil
end
end
end
|
.run ⇒ Object
29
30
31
32
33
34
35
36
37
|
# File 'lib/factory_girl/preload.rb', line 29
def self.run
helper = Object.new.extend(Helpers)
connection.transaction :requires_new => true do
preloaders.each do |block|
helper.instance_eval(&block)
end
end
end
|