class RSpec::Mocks::ObjectReference

@api private

def self.for(object_module_or_name, allow_direct_object_refs = false)

on the given argument.
Returns an appropriate Object or Module reference based
def self.for(object_module_or_name, allow_direct_object_refs = false)
  case object_module_or_name
    when Module then DirectModuleReference.new(object_module_or_name)
    when String then NamedObjectReference.new(object_module_or_name)
    else
      if allow_direct_object_refs
        DirectObjectReference.new(object_module_or_name)
      else
        raise ArgumentError,
          "Module or String expected, got #{object_module_or_name.inspect}"
      end
  end
end