def METHOD_NAME(self, obj):
    """
    Return the directory containing an object's defining class.
    Returns None if there is no such directory, for example if the
    class was defined in an interactive Python session, or in a
    doctest that appears in a text file (rather than a Python file).
    """
    if not hasattr(obj, '__module__'):
        return None
    module = sys.modules[obj.__module__]
    if not hasattr(module, '__file__'):
        # TODO: add a unit test for this case.
        return None
    path = module.__file__
    return os.path.dirname(path)