While paging through reddit programming recently (seems only fair since they linked to me ;)) I stumbled on to the very nifty Randexp gem, a library that uses regular expression patterns to generate data that would satisfy the pattern. Or in less tech terms - a really good test data generator.

# install randexp $ irb require "rubygems" require "randexp" # simple fake phone number - /020 ( 7|8 ) \d { 3 } \d { 4 } /.gen # build a reusable class. class Randgen def self.version () / \d { 1,3 } \.\d { 1,4 } /.gen end end # and use it. / [ :version: ] /.gen

I especially like the ability to make your own character classes. I’m not a ruby guy but I can see this being very useful in lots of little data generation scripts and test harnesses.