Class: RSpec::Mocks::DirectObjectReference
Relationships & Source Files | |
Inherits: | Object |
Defined in: | rspec-mocks/lib/rspec/mocks/object_reference.rb |
Overview
An implementation of rspec-mocks’ reference interface. Used when an object is passed to ExampleMethods#object_double, or an anonymous class or module is passed to ExampleMethods#instance_double or ExampleMethods#class_double. Represents a reference to that object.
Class Method Summary
- .new(object) ⇒ DirectObjectReference constructor
Instance Attribute Summary
-
#defined? ⇒ true
readonly
Always returns true for an object as the class is defined.
Instance Method Summary
-
#const_to_replace
Defined for interface parity with the other object reference implementations.
- #description ⇒ String
-
#target ⇒ Object
The target of the verifying double (the object itself).
-
#when_loaded {|Object| ... }
Yields if the reference target is loaded, providing a generic mechanism to optionally run a bit of code only when a reference’s target is loaded.
Constructor Details
.new(object) ⇒ DirectObjectReference
# File 'rspec-mocks/lib/rspec/mocks/object_reference.rb', line 58
def initialize(object) @object = object end
Instance Attribute Details
#defined? ⇒ true
(readonly)
Always returns true for an object as the class is defined.
# File 'rspec-mocks/lib/rspec/mocks/object_reference.rb', line 85
def defined? true end
Instance Method Details
#const_to_replace
Defined for interface parity with the other object reference implementations. Raises an ArgumentError
to indicate that as_stubbed_const
is invalid when passing an object argument to object_double
.
# File 'rspec-mocks/lib/rspec/mocks/object_reference.rb', line 70
def const_to_replace raise ArgumentError, "Can not perform constant replacement with an anonymous object." end
#description ⇒ String
# File 'rspec-mocks/lib/rspec/mocks/object_reference.rb', line 63
def description @object.inspect end
#target ⇒ Object
The target of the verifying double (the object itself).
# File 'rspec-mocks/lib/rspec/mocks/object_reference.rb', line 78
def target @object end
#when_loaded {|Object| ... }
Yields if the reference target is loaded, providing a generic mechanism to optionally run a bit of code only when a reference’s target is loaded.
This specific implementation always yields because direct references are always loaded.
# File 'rspec-mocks/lib/rspec/mocks/object_reference.rb', line 97
def when_loaded yield @object end