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.
17
18
19
|
# File 'lib/factory_girl/preload.rb', line 17
def clean_with
@clean_with
end
|
.factories ⇒ Object
Returns the value of attribute factories.
15
16
17
|
# File 'lib/factory_girl/preload.rb', line 15
def factories
@factories
end
|
.preloaders ⇒ Object
Returns the value of attribute preloaders.
14
15
16
|
# File 'lib/factory_girl/preload.rb', line 14
def preloaders
@preloaders
end
|
.record_ids ⇒ Object
Returns the value of attribute record_ids.
16
17
18
|
# File 'lib/factory_girl/preload.rb', line 16
def record_ids
@record_ids
end
|
Class Method Details
.active_record ⇒ Object
25
26
27
|
# File 'lib/factory_girl/preload.rb', line 25
def self.active_record
ActiveRecord::Base
end
|
.clean(*names) ⇒ Object
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
|
# File 'lib/factory_girl/preload.rb', line 43
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
29
30
31
|
# File 'lib/factory_girl/preload.rb', line 29
def self.connection
active_record.connection
end
|
.reload_factories ⇒ Object
59
60
61
62
63
64
65
|
# File 'lib/factory_girl/preload.rb', line 59
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
33
34
35
36
37
38
39
40
41
|
# File 'lib/factory_girl/preload.rb', line 33
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
|