LoginSignup
69
77

More than 5 years have passed since last update.

Fakerでダミーデータを生成する

Last updated at Posted at 2014-11-25

Fakerというライブラリを利用してRubyでダミーデータを扱います。

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

生成してくれるデータは名前、住所以外にもメールアドレスなど多岐に渡ります。
インストールはいつものようにgem install fakerしてください。

以下のようなサンプルを用意して実行してみます。

sample.rb
#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にあるメッセージファイルに記載しているだけなのでここに追加すればバリエーションを増やすことも可能だと思われます。

lib/locales
Faker::Config.locale = :ja

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

生成できるデータの種類は多岐に渡り、インターネット関連だとメールアドレス、ドメイン、URLなどもあります。それ以外にも各種住所関連、クレジットカード番号とか電話番号が生成できたりします。
加えてそれぞれ結構細かい単位で生成することもできて痒いところに手が届く感じなので、テストコードなんかでダミーのパラメータを用意するときとか地味に面倒なのですごく役に立つかと。

注:この記事はブログの記事を加筆修正して転載したものです。

69
77
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
69
77