@private
# File lib/rspec/mocks/space.rb, line 97 def any_instance_proxy_for(klass) AnyInstance::Proxy.new(any_instance_recorder_for(klass), proxies_of(klass)) end
# File lib/rspec/mocks/space.rb, line 87 def any_instance_recorder_for(klass, only_return_existing = false) any_instance_mutex.synchronize do id = klass.__id__ any_instance_recorders.fetch(id) do return nil if only_return_existing any_instance_recorder_not_found_for(id, klass) end end end
# File lib/rspec/mocks/space.rb, line 118 def any_instance_recorders_from_ancestry_of(object) # Optimization: `any_instance` is a feature we generally # recommend not using, so we can often early exit here # without doing an O(N) linear search over the number of # ancestors in the object's class hierarchy. return [] if any_instance_recorders.empty? # We access the ancestors through the singleton class, to avoid calling # `class` in case `class` has been stubbed. (class << object; ancestors; end).map do |klass| any_instance_recorders[klass.__id__] end.compact end
# File lib/rspec/mocks/space.rb, line 83 def constant_mutator_for(name) @constant_mutators.find { |m| m.full_constant_name == name } end
# File lib/rspec/mocks/space.rb, line 63 def new_scope NestedSpace.new(self) end
# File lib/rspec/mocks/space.rb, line 101 def proxies_of(klass) proxies.values.select { |proxy| klass === proxy.object } end
# File lib/rspec/mocks/space.rb, line 105 def proxy_for(object) proxy_mutex.synchronize do id = id_for(object) proxies.fetch(id) { proxy_not_found_for(id, object) } end end
# File lib/rspec/mocks/space.rb, line 79 def register_constant_mutator(mutator) @constant_mutators << mutator end
# File lib/rspec/mocks/space.rb, line 114 def registered?(object) proxies.has_key?(id_for object) end
# File lib/rspec/mocks/space.rb, line 72 def reset_all proxies.each_value { |proxy| proxy.reset } @constant_mutators.reverse.each { |mut| mut.idempotently_reset } any_instance_recorders.each_value { |recorder| recorder.stop_all_observation! } any_instance_recorders.clear end
Generated with the Darkfish Rdoc Generator 2.