Fakerで嘘っぱちなデータを生成する

嘘っぱちっていうかいわゆるダミーデータね。
ちょっとしたコードをRubyで書いていて、適当に名前とか生成してくれるライブラリないかなーと探してて見つけたのがこれ。

Faker https://github.com/stympy/faker

そのものズバリな名前だけど各種フェイクデータを生成してくれるRubyのライブラリ。
生成してくれるデータは名前、住所以外にもメールアドレスなど多岐に渡る。

インストールは簡単でgem install fakerするだけ。

で、実際のコードはこんな感じ。

#coding utf-8

require 'faker'
require 'Set'

puts Faker::Code.ean #=> EANコード
puts Faker::Name.name #=> 氏名
puts Faker::Lorem.sentence #=> loremな文章


で、実行するとこんな感じでフェイクのデータが作成される。

$ ruby sample.rb 
8227509485998
Osvaldo Trantow
Nihil voluptatem voluptatem ut.

ちなみにLoremってのはいわゆるLorem ipsumで、一種のダミーテキストのことだ。

このFakerの便利なところは多言語対応していてロケールを切り替えれば各ロケール固有のフェイクデータを作成できるのだ。
例えば日本にセットすれば日本名の姓名が生成される。
単にlib/localesにあるメッセージファイルに記載しているだけなのでここに追加すればバリエーションを増やすことも可能と思われる。

Faker::Config.locale = :ja

puts Faker::Name.name #=> 日本語氏名
puts Faker::Address.

生成できるデータの種類は多岐に渡り、インターネット関連だとメールアドレス、ドメイン、URLなど。それ以外にも各種住所関連、クレジットカード番号とか電話番号が生成できる。
加えてそれぞれ結構細かい単位で生成することもできて痒いところに手が届く感じ。

テストコードなんかでダミーのパラメータを用意するときとか地味に面倒なのですごく役に立ちそう。