76 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Ruby
		
	
	
	
		
		
			
		
	
	
			76 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Ruby
		
	
	
	
| 
								 | 
							
								require 'json'
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								data = File.read("#{Rails.root}/db/data")
							 | 
						||
| 
								 | 
							
								data_json = JSON.parse(data)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								rand = Random.new
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								FactoryGirl.define do
							 | 
						||
| 
								 | 
							
								  factory :paper_record, class: "WritingJournal"  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(:journal_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(: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.sequence(:journal_level_types) do |n|
							 | 
						||
| 
								 | 
							
								      level = []
							 | 
						||
| 
								 | 
							
								      total_levels = rand.rand(1..JournalLevelType.count)
							 | 
						||
| 
								 | 
							
								      total_levels.times do
							 | 
						||
| 
								 | 
							
								        level << JournalLevelType.all[rand.rand(0..JournalLevelType.count-1)]
							 | 
						||
| 
								 | 
							
								      end
							 | 
						||
| 
								 | 
							
								      level.uniq
							 | 
						||
| 
								 | 
							
								    end
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    f.sequence(:writing_journal_files) do |n|
							 | 
						||
| 
								 | 
							
								      files = []
							 | 
						||
| 
								 | 
							
								      total_files = rand.rand(1..7)
							 | 
						||
| 
								 | 
							
								      total_files.times do files << FactoryGirl.create(:upload_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
							 |