Actions
Feature #16972
closedPathname#mkpath to accept block to call on each created directory
Feature #16972:
Pathname#mkpath to accept block to call on each created directory
Description
I just had a case where I need to set the permissions on each directory created by Pathname#mkpath, but since this requires to know which directories are created I had to reimplement the mkpath logic like this:
file = Pathname.new(Dir.pwd) + "a/b/c/d/e/foo.txt" #any of these directories may already exist
file.dirname.ascend.take_while{ |d| !d.exist? }.reverse_each do |dir|
dir.mkdir
dir.chmod(0775) #rwxrwxr-x
end
It occured to me it would be very elegant if mkpath allowed this
file.dirname.mkpath{ |dir| dir.chmod(0775) }
Actions