Fakerというライブラリを利用してRubyでダミーデータを扱います。
Faker https://github.com/stympy/faker
生成してくれるデータは名前、住所以外にもメールアドレスなど多岐に渡ります。
インストールはいつものようにgem install fakerしてください。
以下のようなサンプルを用意して実行してみます。
#coding utf-8
require 'faker'
require 'Set'
puts Faker::Code.ean #=> EANコード
puts Faker::Name.name #=> 氏名
puts Faker::Lorem.sentence #=> loremな文章
今回は商品識別コードであるEANコード(日本のJANコードみたいなやつ)、氏名とLorem ipsum(一種のダミーテキスト)を出力してみます。
これを実行してみるとこんな感じになります。
$ ruby sample.rb
8227509485998
Osvaldo Trantow
Nihil voluptatem voluptatem ut.
Fakerは便利なことに多言語対応していてロケールを切り替えれば各ロケール固有のフェイクデータを作成できます。
例えば日本にセットすれば日本名の姓名が生成されます。これは単にlib/localesにあるメッセージファイルに記載しているだけなのでここに追加すればバリエーションを増やすことも可能だと思われます。
Faker::Config.locale = :ja
puts Faker::Name.name #=> 日本語氏名
puts Faker::Address.name #=> 住所
生成できるデータの種類は多岐に渡り、インターネット関連だとメールアドレス、ドメイン、URLなどもあります。それ以外にも各種住所関連、クレジットカード番号とか電話番号が生成できたりします。
加えてそれぞれ結構細かい単位で生成することもできて痒いところに手が届く感じなので、テストコードなんかでダミーのパラメータを用意するときとか地味に面倒なのですごく役に立つかと。
注:この記事はブログの記事を加筆修正して転載したものです。