require 'json' data = File.read("#{Rails.root}/db/data") data_json = JSON.parse(data) rand = Random.new FactoryGirl.define do factory :writing_conference, class: "WritingConference" do |f| f.sequence(:paper_title_translations) do |n| { zh_tw: "#{data_json[n]["paper_title"]}_tw", en: "#{data_json[n]["paper_title"]}_en" } end f.sequence(:conference_title_translations) do |n| {zh_tw: "#{data_json[n]["booktitle"]}_tw", en: "#{data_json[n]["booktitle"]}_en"} end f.sequence(:abstract) do |n| "#{data_json[n]["abstract"]}" end f.sequence(:year) do |n| "#{data_json[n]["year"]}" end f.sequence(:author_tokens) do |n| "#{data_json[n]["author"].map{|m| m.split(",").reverse.map(&:strip).join(" ")}.join(",")}" end #f.sequence(:form_to_start) do |n| #"#{data_json[n]["page_from"]}" #end #f.sequence(:form_to_end) do |n| #"#{data_json[n]["page_to"]}" #end #f.sequence(:total_pages) do |n| #"#{data_json[n]["total_page"]}" #end f.sequence(:language) do |n| "#{data_json[n]["language"]}" end f.sequence(:keywords) do |n| "#{data_json[n]["abstract"].split[-3..-1].join(",")}" end f.sequence(:conference_paper_types) do |n| level = [] total_levels = rand.rand(0..ConferencePaperType.count-1) total_levels.times do level << ConferencePaperType.all[rand.rand(0..ConferencePaperType.count-1)] end level.uniq end f.sequence(:writing_conference_files) do |n| files = [] total_files = rand.rand(1..7) total_files.times do files << FactoryGirl.create(:writing_conference_file) end files end f.create_user_id BSON::ObjectId('4f45f3b9e9d02c5db9000067') #user_id, this is Chris' account f.update_user_id BSON::ObjectId('4f45f3b9e9d02c5db9000067') #user_id, this is Chris' account end end