Class: FactoryGirl::Proxy::Build

Inherits:
FactoryGirl::Proxy show all
Defined in:
lib/factory_girl/proxy/build.rb

Overview

:nodoc:

Direct Known Subclasses

Create

Instance Attribute Summary

Attributes inherited from FactoryGirl::Proxy

#callbacks

Instance Method Summary collapse

Methods inherited from FactoryGirl::Proxy

#add_callback, #method_missing, #run_callbacks

Constructor Details

#initialize(klass) ⇒ Build

Returns a new instance of Build.



4
5
6
# File 'lib/factory_girl/proxy/build.rb', line 4

def initialize(klass)
  @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



16
17
18
19
# File 'lib/factory_girl/proxy/build.rb', line 16

def associate(name, factory_name, overrides)
  factory = FactoryGirl.factory_by_name(factory_name)
  set(name, factory.run(Proxy::Create, overrides))
end

#association(factory_name, overrides = {}) ⇒ Object



21
22
23
24
# File 'lib/factory_girl/proxy/build.rb', line 21

def association(factory_name, overrides = {})
  factory = FactoryGirl.factory_by_name(factory_name)
  factory.run(Proxy::Create, overrides)
end

#get(attribute) ⇒ Object



8
9
10
# File 'lib/factory_girl/proxy/build.rb', line 8

def get(attribute)
  @instance.send(attribute)
end

#result(to_create) ⇒ Object



26
27
28
29
# File 'lib/factory_girl/proxy/build.rb', line 26

def result(to_create)
  run_callbacks(:after_build)
  @instance
end

#set(attribute, value) ⇒ Object



12
13
14
# File 'lib/factory_girl/proxy/build.rb', line 12

def set(attribute, value)
  @instance.send(:"#{attribute}=", value)
end