

Ruby on Railsで開発しています。  
DB(mysql)にテストデータを入れるためにFaker gemを使っています。  
<https://github.com/stympy/faker>
を参照してほとんどのデータを入れることができましたが、これだけではできないところがあります。

  1. Boolean型の場合、True/Falseが必要ですが、上記のところでは見つけられませんでした。  
（0 または 1でも大丈夫でしょうかね..）

  2. 「時間：分：秒」だけ必要ですが、「2014-09-19 07:03:30 -0700」のような形式しかありませんね..
  3. 例えばAとBという値があり、ランダムでどっちかの値を入れたいんです。他の値は要りません。  
この場合、どうすればできますか？別にFakerは必要なさそうに思われますが..

上記の問題を解決できる方法を教えてください！


CC BY-SA 3.0
2016-01-05T05:37:08.443
20619
2016-01-05T07:04:36.197
10710
question
ruby-on-rails mysql rubygems
Rails Fakerを使ってテストデータ生成


テストデータを作るとすれば、こんな感じでしょうか。  
（Kimさんがどんなコードを書いているのかわからないので、こちらの想像で書いています。）

[code]

    schedule = Schedule.new
    
    # 1. true/falseの設定はFakerを使わない
    schedule.repeat = true # false でも可
    
    # 2. ランダムな日時から時分秒だけを文字列化（例："07:31:51"）
    schedule.scheduled_time = Faker::Time.between(DateTime.now - 1, DateTime.now).strftime("%H:%M:%S")
    
    # 3. large または small をランダムにセット
    schedule.room = %w(large small).sample
    
    schedule.save!
    
[/code]

質問のようなケースだと無理にFakerを使わなくてもいいのでは？という気がしますね。


CC BY-SA 3.0
2016-01-05T07:04:36.197
20620
2016-01-05T07:04:36.197
85
20619
answer