Class: FactoryGirl::Proxy::Build
Overview
Direct Known Subclasses
Create
Instance Method Summary
collapse
ensure_strategy_exists!, #method_missing, #run_callbacks, #set_ignored
Constructor Details
#initialize(klass, callbacks = []) ⇒ Build
Returns a new instance of Build.
4
5
6
7
|
# File 'lib/factory_girl/proxy/build.rb', line 4
def initialize(klass, callbacks = [])
super
@instance = klass.new
end
|
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
in the class FactoryGirl::Proxy
Instance Method Details
#associate(name, factory_name, overrides) ⇒ Object
21
22
23
|
# File 'lib/factory_girl/proxy/build.rb', line 21
def associate(name, factory_name, overrides)
set(name, association(factory_name, overrides))
end
|
#association(factory_name, overrides = {}) ⇒ Object
25
26
27
28
29
|
# File 'lib/factory_girl/proxy/build.rb', line 25
def association(factory_name, overrides = {})
method = get_method(overrides[:method])
factory = FactoryGirl.factory_by_name(factory_name)
factory.run(method, overrides.except(:method))
end
|
#get(attribute) ⇒ Object
9
10
11
12
13
14
15
|
# File 'lib/factory_girl/proxy/build.rb', line 9
def get(attribute)
if @ignored_attributes.has_key?(attribute)
@ignored_attributes[attribute]
else
@instance.send(attribute)
end
end
|
#result(to_create) ⇒ Object
31
32
33
34
|
# File 'lib/factory_girl/proxy/build.rb', line 31
def result(to_create)
run_callbacks(:after_build)
@instance
end
|
#set(attribute, value) ⇒ Object
17
18
19
|
# File 'lib/factory_girl/proxy/build.rb', line 17
def set(attribute, value)
@instance.send(:"#{attribute}=", value)
end
|