Если вы ищете не только число, но и hex или uuid, стоит упомянуть, что модуль SecureRandom
нашел путь от ActiveSupport
до ядра ruby в 1.9.2+. Таким образом, без необходимости создания полномасштабной структуры:
require 'securerandom'
p SecureRandom.random_number(100) #=> 15
p SecureRandom.random_number(100) #=> 88
p SecureRandom.random_number #=> 0.596506046187744
p SecureRandom.random_number #=> 0.350621695741409
p SecureRandom.hex #=> "eb693ec8252cd630102fd0d0fb7c3485"
Это описано здесь: Ruby 1.9.3 - Module: SecureRandom (lib / securerandom.rb)