Skip to content

Instantly share code, notes, and snippets.

@omarqureshi
Created October 25, 2013 12:46
Show Gist options
  • Select an option

  • Save omarqureshi/7154133 to your computer and use it in GitHub Desktop.

Select an option

Save omarqureshi/7154133 to your computer and use it in GitHub Desktop.
#!/usr/bin/env ruby
directory = "/Users/omarqureshi/test/"
files = Dir.glob("#{directory}**/*")
out = files.inject({}) do |mem, file|
mem[directory] ||= []
remainder = file.gsub(directory, "")
after_split = remainder.split("/")
if after_split.size == 1
mem[directory] << after_split[0] unless File.directory?(directory + after_split[0])
else
dirname = directory + after_split[0..-2].join("/")
mem[dirname] ||= []
mem[dirname] << after_split[-1] unless File.directory?(dirname + after_split[-1])
end
mem
end
puts out.inspect
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment