class RSpec::Mocks::DirectObjectReference

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. @see NamedObjectReference

Public Class Methods

@param object [Object] the object to which this refers

# File rspec-mocks/lib/rspec/mocks/object_reference.rb, line 58
def initialize(object)
  @object = object
end

Public Instance Methods

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

Always returns true for an object as the class is defined.

@return [true]

# File rspec-mocks/lib/rspec/mocks/object_reference.rb, line 85
def defined?
  true
end

@return [String] the object’s description (via ‘#inspect`).

# File rspec-mocks/lib/rspec/mocks/object_reference.rb, line 63
def description
  @object.inspect
end

The target of the verifying double (the object itself).

@return [Object]

# File rspec-mocks/lib/rspec/mocks/object_reference.rb, line 78
def target
  @object
end

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.

@yield [Object] the target of this reference.

# File rspec-mocks/lib/rspec/mocks/object_reference.rb, line 97
def when_loaded
  yield @object
end