Class: FactoryGirl::Proxy::Stub
- Inherits:
-
FactoryGirl::Proxy
- Object
- FactoryGirl::Proxy
- FactoryGirl::Proxy::Stub
- Defined in:
- lib/factory_girl/proxy/stub.rb
Overview
:nodoc:
Constant Summary collapse
- @@next_id =
1000
Instance Method Summary collapse
- #association(factory_name, overrides = {}) ⇒ Object
-
#initialize(klass, callbacks = []) ⇒ Stub
constructor
A new instance of Stub.
- #result(to_create) ⇒ Object
Methods inherited from FactoryGirl::Proxy
ensure_strategy_exists!, #run_callbacks
Constructor Details
#initialize(klass, callbacks = []) ⇒ Stub
Returns a new instance of Stub.
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
# File 'lib/factory_girl/proxy/stub.rb', line 6 def initialize(klass, callbacks = []) super result_instance.id = next_id result_instance.instance_eval do def persisted? !new_record? end def created_at @created_at ||= Time.now end def new_record? id.nil? end def save(*args) raise "stubbed models are not allowed to access the database" end def destroy(*args) raise "stubbed models are not allowed to access the database" end def connection raise "stubbed models are not allowed to access the database" end def reload raise "stubbed models are not allowed to access the database" end def update_attribute(*args) raise "stubbed models are not allowed to access the database" end end end |
Dynamic Method Handling
This class handles dynamic methods through the method_missing method in the class FactoryGirl::Proxy
Instance Method Details
#association(factory_name, overrides = {}) ⇒ Object
44 45 46 47 |
# File 'lib/factory_girl/proxy/stub.rb', line 44 def association(factory_name, overrides = {}) factory = FactoryGirl.factory_by_name(factory_name) factory.run(Proxy::Stub, overrides.except(:method)) end |
#result(to_create) ⇒ Object
49 50 51 52 |
# File 'lib/factory_girl/proxy/stub.rb', line 49 def result(to_create) run_callbacks(:after_stub) result_instance end |