Feature #19734
closedLet `Dir` methods be available to `File`
Description
I propose to let Dir
singleton methods be available to File
in some way. Motivations are as follows.
When we want to do something with a file (for example File.read
or File.write
), we quite often want to achieve the home directory. If we are in the mode of thinking in the ream of File
, we would likely come up with File.expand_path("~")
. However, this is cumbersome, and actually, Dir.home
is simpler. But my experience is that switching the mind to Dir
when thinking about File
require extra cognitive load.
Also, many methods defined in File
work for both a file or a directory. When we are doing something with a directory, we have to stop and think whether the method we want to use is defined in File
or in Dir
. It is possible to do that, but that also requires extra cognitive load.
I thought things would become simpler if we do not need to switch between these two classes in mind, and keep using File
. There are a few singleton methods that are defined on both File
and Dir
:
delete/unlink, empty?, exist?, new/open
For them, perhaps some modification can be made.