I was getting a little fed up touching every single directory that was empty after I created a new Rails app and than pushing it to a git repo and having it not include the empty directories. So, I created a short quick script to help me out. I didn’t test it more than a couple times, but it seems to do the job. Anyway, here it is:
def touch_gitignore(path = '.') Dir[File.join(File.expand_path(path), '**')].each do |file| if File.directory?(file) touch_gitignore(file) if Dir[File.join(file, '*')].empty? `touch #{File.join(file, '.gitignore')}` puts 'touched: ' + file end end end end ARGV.first ? touch_gitignore(ARGV.first) : touch_gitignore
Yes, I’m sure it can be improved. As I said, it was quick and dirty, out of frustration even.
As an example how to run it, if I named the file I pasted the code from above into ‘gitignore.rb’ then it would be something like this:
chris$ rails test chris$ ruby gitignore.rb test
If you found this useful, how about a recommendation on working with rails?
Other Posts That Might Interest You

