Faking Data with Ranges in Ruby
August 12, 2010
On a recent project I needed to create some fake data for some reporting screens. I was using StaticMatic to generate a mockup site and decided to try out the Faker gem for creating the data. Faker worked out well, but it doesn't have any support for generating numerical data.
Generating a random number in Ruby is easy with Kernel::rand, but I wanted to generate numbers within a certain range. My first attempt resulted in a helper method like this:
I had the feeling that this was an inelegant solution, but I wasn't sure of a better approach, so I just moved on. Later that day it hit me: why not use a Range object? So I re-opened the Range class and added this method:
The cool part is that this will not only pull a random number from a number range but it also should work with other types of ranges like dates, for example.