Pathname#pathmap is still (erronously) documented
jasonkarns opened this issue · comments
The rake docs here still indicate that Pathname#pathmap
exists. However, it was removed by #130
It would be easy enough to fix the docs. But perhaps a different question is, why was this removed from Pathname?
I expected the following to work, but instead got NoMethodError: undefined method 'pathmap' for #<Pathname
array_of_pathnames.each do |p|
directory p.pathmap('%d')
end
Surely it's easy enough to use directory p.dirname
. However, I have a lambda that is also used as a rule dep (to ensure the parent directories are created). I was hoping to use the same lambda when iterating over the array_of_pathnames.
dirname = ->(f) { f.pathmap('%d') }
pathnames.map(&dirname).map(&method(:directory))
rule %r{pattern} => dirname do |t|
# stuff
end
As long as we're extending String, I'd expect the same extensions to work on the "more domain appropriate" Pathname.
I'm not sure why it's still exists. It was removed from the current top page that is https://ruby.github.io/rake/index.html .
restore pathmap extension please. At least have it available to load 'require "rake/ext/pathmap"
@hsbt Is there any discussion thread on why the pathmap
extension was removed from Pathname
?
I could understand if the eventual goal is to remove it from String as well. Though as long as String
has it, I'd expect Pathname
to have it as well? If the eventual goal is to remove the extensions entirely (or perhaps make them opt-in?) should it be removed from both String
and Pathname
at the same time so the interfaces remain consistent?