class RSpec::Mocks::Space
@api private
Attributes
any_instance_recorders[R]
proxies[R]
Public Class Methods
new()
click to toggle source
# File lib/rspec/mocks/space.rb, line 7 def initialize @proxies = {} @any_instance_recorders = {} end
Public Instance Methods
any_instance_recorder_for(klass)
click to toggle source
# File lib/rspec/mocks/space.rb, line 43 def any_instance_recorder_for(klass) id = klass.__id__ any_instance_recorders.fetch(id) do any_instance_recorders[id] = AnyInstance::Recorder.new(klass) end end
expectation_ordering()
click to toggle source
# File lib/rspec/mocks/space.rb, line 39 def expectation_ordering @expectation_ordering ||= OrderGroup.new end
id_for(object)
click to toggle source
# File lib/rspec/mocks/space.rb, line 75 def id_for(object) id = object.__id__ return id if object.equal?(::ObjectSpace._id2ref(id)) # this suggests that object.__id__ is proxying through to some wrapped object object.instance_eval do @__id_for_rspec_mocks_space ||= ::SecureRandom.uuid end end
proxies_of(klass)
click to toggle source
# File lib/rspec/mocks/space.rb, line 50 def proxies_of(klass) proxies.values.select { |proxy| klass === proxy.object } end
proxy_for(object)
click to toggle source
# File lib/rspec/mocks/space.rb, line 54 def proxy_for(object) id = id_for(object) proxies.fetch(id) do proxies[id] = case object when NilClass then ProxyForNil.new when TestDouble then object.__build_mock_proxy else Proxy.new(object) end end end
Also aliased as: ensure_registered
registered?(object)
click to toggle source
# File lib/rspec/mocks/space.rb, line 68 def registered?(object) proxies.has_key?(id_for object) end
reset_all()
click to toggle source
# File lib/rspec/mocks/space.rb, line 22 def reset_all ConstantMutator.reset_all proxies.each_value do |object| object.reset end proxies.clear any_instance_recorders.each_value do |recorder| recorder.stop_all_observation! end any_instance_recorders.clear expectation_ordering.clear end
verify_all()
click to toggle source
# File lib/rspec/mocks/space.rb, line 12 def verify_all proxies.each_value do |object| object.verify end any_instance_recorders.each_value do |recorder| recorder.verify end end