2012-11-15 17:53:17 +00:00
|
|
|
require 'factory_girl'
|
2012-11-26 16:05:04 +00:00
|
|
|
require 'faker'
|
2012-11-26 03:52:11 +00:00
|
|
|
require 'json'
|
|
|
|
|
2012-11-28 07:20:02 +00:00
|
|
|
CoAuthor.destroy_all
|
2012-12-03 09:16:28 +00:00
|
|
|
CoAuthorRelation.destroy_all
|
|
|
|
WritingJournal.destroy_all
|
2012-11-28 07:20:02 +00:00
|
|
|
|
2012-11-26 03:52:11 +00:00
|
|
|
data = File.read("db/data")
|
|
|
|
data_json = JSON.parse(data)
|
2012-11-15 17:53:17 +00:00
|
|
|
|
2012-11-26 16:05:04 +00:00
|
|
|
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
|
2012-11-26 03:52:11 +00:00
|
|
|
|
2012-11-26 16:05:04 +00:00
|
|
|
email = Array.new 51,""
|
|
|
|
email= email.map do |p| Faker::Internet.email end
|
2012-11-26 03:52:11 +00:00
|
|
|
|
2012-12-03 09:16:28 +00:00
|
|
|
type = ["friend0", "teacher0", "student0", "mate0", "relation0", "friend1", "teacher1", "student1", "mate1", "relation1"]
|
|
|
|
|
2012-11-26 16:05:04 +00:00
|
|
|
FactoryGirl.define do
|
2012-12-03 09:16:28 +00:00
|
|
|
factory(:type, class: "CoAuthorRelation") do |f|
|
|
|
|
f.sequence(:relation_translations) do |n|
|
|
|
|
{ zh_tw: "#{type[n%type.size]}",
|
|
|
|
en: "#{type[n%type.size]}" }
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2012-11-26 16:05:04 +00:00
|
|
|
factory(:co_author_candidate, class: "CoAuthor") do |f|
|
2012-11-26 03:52:11 +00:00
|
|
|
|
2012-11-26 16:05:04 +00:00
|
|
|
f.sequence(:co_author_translations) do |n|
|
|
|
|
{ zh_tw: "#{name_tw[n]}",
|
2012-12-03 09:16:28 +00:00
|
|
|
en: "#{name_en[n]}" }
|
2012-11-26 03:52:11 +00:00
|
|
|
end
|
2012-11-26 16:05:04 +00:00
|
|
|
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
|
2012-11-26 16:18:34 +00:00
|
|
|
|
|
|
|
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
|
|
|
|
|
2012-12-03 09:16:28 +00:00
|
|
|
10.times.each do
|
|
|
|
FactoryGirl.create(:type)
|
|
|
|
end
|
2012-11-26 16:18:34 +00:00
|
|
|
|
|
|
|
50.times.each do
|
|
|
|
FactoryGirl.create(:paper_record)
|
2012-11-26 16:05:04 +00:00
|
|
|
end
|
2012-11-15 17:53:17 +00:00
|
|
|
|
|
|
|
50.times.each do
|
2012-11-26 16:05:04 +00:00
|
|
|
FactoryGirl.create(:co_author_candidate)
|
2012-11-15 17:53:17 +00:00
|
|
|
end
|
2012-12-03 09:16:28 +00:00
|
|
|
|