How to create a list of random file names, including extension, dates, and file size in Ruby

1 Answer

0 votes
require "securerandom"

# Generate a random string of given length
def generate_random_string(length)
  charset = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
  Array.new(length) { charset[SecureRandom.random_number(charset.length)] }.join
end

# Generate a random date
def generate_random_date
  year  = rand(2000..2020)
  month = rand(1..12)
  day   = rand(1..28)

  format("%04d-%02d-%02d", year, month, day)
end

# Generate a random file size
def generate_random_file_size
  rand(1..100_000)
end

extensions = [".txt", ".jpg", ".png", ".cpp", ".pdf"]
number_of_files = 10
file_length = 9

number_of_files.times do
  file_name = generate_random_string(file_length)
  extension = extensions.sample
  date      = generate_random_date
  file_size = generate_random_file_size

  puts "#{file_name}#{extension} #{date} #{file_size} bytes"
end



=begin
run:

T2EbtxWFW.png 2003-08-03 27665 bytes
vYPW8XBXU.jpg 2009-07-19 95754 bytes
IZ7CCX3xd.png 2012-07-22 32720 bytes
6QxrIzesR.pdf 2014-09-04 26436 bytes
w6lRCpVlD.png 2009-01-15 46181 bytes
cQW7kPPTH.txt 2014-05-21 39794 bytes
9E0NaNYBR.jpg 2006-03-01 80741 bytes
l6UfBOx1H.jpg 2008-01-28 65547 bytes
ca11Xm0ji.txt 2005-01-14 80979 bytes
hDlxlfFr5.pdf 2017-10-13 3523 bytes

=end

 



answered 6 hours ago by avibootz

Related questions

...