Files and Directories
Directory Listing
Ruby can create a directory and list entries in a deterministic order.
Directory Listing
directory_listing.rb
require "tmpdir"
extra_file =
Dir.mktmpdir do |dir|
project_dir = File.join(dir, "project")
Dir.mkdir(project_dir)
File.write(File.join(project_dir, "readme.txt"), "readme\n")
File.write(File.join(project_dir, extra_file), "item\n")
entries = Dir.children(project_dir).sort
puts "directory=#{File.basename(project_dir)}"
puts "entries=#{entries.join(",")}"
puts "count=#{entries.length}"
end
require "tmpdir"
extra_file =
Dir.mktmpdir do |dir|
project_dir = File.join(dir, "project")
Dir.mkdir(project_dir)
File.write(File.join(project_dir, "readme.txt"), "readme\n")
File.write(File.join(project_dir, extra_file), "item\n")
entries = Dir.children(project_dir).sort
puts "directory=#{File.basename(project_dir)}"
puts "entries=#{entries.join(",")}"
puts "count=#{entries.length}"
end
require "tmpdir"
extra_file =
Dir.mktmpdir do |dir|
project_dir = File.join(dir, "project")
Dir.mkdir(project_dir)
File.write(File.join(project_dir, "readme.txt"), "readme\n")
File.write(File.join(project_dir, extra_file), "item\n")
entries = Dir.children(project_dir).sort
puts "directory=#{File.basename(project_dir)}"
puts "entries=#{entries.join(",")}"
puts "count=#{entries.length}"
end
directory listing
Sorting directory entries makes output stable and easier to compare.