92 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Ruby
		
	
	
	
			
		
		
	
	
			92 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Ruby
		
	
	
	
| require 'factory_girl'
 | |
| require 'faker'
 | |
| require 'json'
 | |
| 
 | |
| WritingJournal.destroy_all
 | |
| CoAuthor.destroy_all
 | |
| 
 | |
| data = File.read("db/data")
 | |
| data_json = JSON.parse(data)
 | |
| 
 | |
| name_tw = Array.new 51,""
 | |
| name_tw = name_tw.map do |p| Faker::Name::name end
 | |
| name_en = Array.new 51,""
 | |
| name_en = name_en.map do |p| Faker::Name::name end
 | |
| 
 | |
| email = Array.new 51,""
 | |
| email= email.map do |p| Faker::Internet.email end
 | |
| 
 | |
| type = ["friend", "teacher", "student", "mate", "relation"]
 | |
| FactoryGirl.define do
 | |
|   factory(:co_author_candidate, class: "CoAuthor")  do |f|
 | |
| 
 | |
|     f.sequence(:co_author_translations) do |n|
 | |
|       { zh_tw: "#{name_tw[n]}",
 | |
|             en: "#{name_en[n]}" }
 | |
|     end
 | |
|     f.sequence(:type) do |n| "#{type[n%5]}" end
 | |
|     f.sequence(:email) do |n| "#{email[n]}" end
 | |
|     f.name_id BSON::ObjectId('4f45f3b9e9d02c5db9000067') #user_id, this is Chris' account
 | |
|   end
 | |
| 
 | |
|   factory :paper_record, class: "WritingJournal"  do |f|
 | |
|     f.sequence(:paper_title_translations) do |n|
 | |
|       { zh_tw: "tw_#{data_json[n]["paper_title"]}",
 | |
|             en: "en_#{data_json[n]["paper_title"]}" }
 | |
|     end
 | |
| 
 | |
|     f.sequence(:journal_title_translations) do |n|
 | |
|       {zh_tw:  "tw_#{data_json[n]["booktitle"]}",
 | |
|             en: "en_#{data_json[n]["booktitle"]}"}
 | |
|     end
 | |
| 
 | |
|     f.sequence(:abstract) do |n|
 | |
|       "#{data_json[n]["abstract"]}"
 | |
|     end
 | |
| 
 | |
|     f.sequence(:isbn) do |n|
 | |
|       "#{data_json[n]["isbn"]}"
 | |
|     end
 | |
| 
 | |
|     f.sequence(:year) do |n|
 | |
|       "#{data_json[n]["year"]}"
 | |
|     end
 | |
| 
 | |
|     f.sequence(:authors) do |n|
 | |
|       "#{data_json[n]["author"].map{|m| m.split(",").reverse.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.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
 | |
| 
 | |
| 
 | |
| 50.times.each do
 | |
|   FactoryGirl.create(:paper_record)
 | |
| end
 | |
| 
 | |
| 50.times.each do
 | |
|   FactoryGirl.create(:co_author_candidate)
 | |
| end
 |