312 lines
6.8 KiB
Ruby
Executable File
312 lines
6.8 KiB
Ruby
Executable File
# frozen_string_literal: true
|
|
# This file should contain all the record creation needed to seed the database with its default values.
|
|
# The data can then be loaded with the rails db:seed (or created alongside the db with db:setup).
|
|
#
|
|
|
|
users = [
|
|
{
|
|
email: "admin@metacorp.com",
|
|
admin: true,
|
|
password: "admin1234",
|
|
password_confirmation: "admin1234",
|
|
first_name: "Admin",
|
|
last_name: "",
|
|
},
|
|
|
|
{
|
|
email: "jmmastey@metacorp.com",
|
|
admin: false,
|
|
password: "railsgoat!",
|
|
password_confirmation: "railsgoat!",
|
|
first_name: "Joseph",
|
|
last_name: "Mastey",
|
|
},
|
|
|
|
{
|
|
email: "john@metacorp.com",
|
|
admin: false,
|
|
password: "yankeessuck",
|
|
password_confirmation: "yankeessuck",
|
|
first_name: "John",
|
|
last_name: "Smith",
|
|
},
|
|
|
|
{
|
|
email: "james@metacorp.com",
|
|
admin: false,
|
|
password: "alohaowasp",
|
|
password_confirmation: "alohaowasp",
|
|
first_name: "James",
|
|
last_name: "Anderson",
|
|
},
|
|
|
|
{
|
|
email: "mike@metacorp.com",
|
|
admin: false,
|
|
password: "motocross1445",
|
|
password_confirmation: "motocross1445",
|
|
first_name: "Mike",
|
|
last_name: "McCabe",
|
|
},
|
|
|
|
{
|
|
email: "ken@metacorp.com",
|
|
admin: false,
|
|
password: "citrusblend",
|
|
password_confirmation: "citrusblend",
|
|
first_name: "Ken",
|
|
last_name: "Johnson",
|
|
},
|
|
|
|
{
|
|
email: "admin2@metacorp.com",
|
|
admin: false,
|
|
password: "adminadmin",
|
|
password_confirmation: "adminadmin",
|
|
first_name: "Admin2",
|
|
last_name: "",
|
|
}
|
|
]
|
|
|
|
retirements = [
|
|
{
|
|
user: "john@metacorp.com",
|
|
employee_contrib: "1000",
|
|
employer_contrib: "2000",
|
|
total: "4500"
|
|
},
|
|
{
|
|
user: "james@metacorp.com",
|
|
employee_contrib: "8000",
|
|
employer_contrib: "16000",
|
|
total: "30000"
|
|
},
|
|
{
|
|
user: "mike@metacorp.com",
|
|
employee_contrib: "10000",
|
|
employer_contrib: "20000",
|
|
total: "40000"
|
|
},
|
|
{
|
|
user: "ken@metacorp.com",
|
|
employee_contrib: "3000",
|
|
employer_contrib: "6000",
|
|
total: "12500"
|
|
}
|
|
]
|
|
|
|
paid_time_off = [
|
|
{
|
|
user: "john@metacorp.com",
|
|
sick_days_taken: 2,
|
|
sick_days_earned: 5,
|
|
pto_taken: 5,
|
|
pto_earned: 30
|
|
},
|
|
{
|
|
user: "james@metacorp.com",
|
|
sick_days_taken: 3,
|
|
sick_days_earned: 6,
|
|
pto_taken: 3,
|
|
pto_earned: 20
|
|
},
|
|
{
|
|
user: "mike@metacorp.com",
|
|
sick_days_taken: 2,
|
|
sick_days_earned: 5,
|
|
pto_taken: 5,
|
|
pto_earned: 30
|
|
},
|
|
{
|
|
user: "ken@metacorp.com",
|
|
sick_days_taken: 1,
|
|
sick_days_earned: 5,
|
|
pto_taken: 10,
|
|
pto_earned: 30
|
|
}
|
|
]
|
|
|
|
schedule = [
|
|
{
|
|
user: "john@metacorp.com",
|
|
date_begin: Date.new(2014, 7, 30),
|
|
date_end: Date.new(2014, 8, 2),
|
|
event_type: "pto",
|
|
event_desc: "vacation to france",
|
|
event_name: "My 2014 Vacation"
|
|
},
|
|
{
|
|
user: "james@metacorp.com",
|
|
date_begin: Date.new(2013, 9, 1),
|
|
date_end: Date.new(2013, 9, 12),
|
|
event_type: "pto",
|
|
event_desc: "Going Home to see folks",
|
|
event_name: "Visit Parents"
|
|
},
|
|
{
|
|
user: "mike@metacorp.com",
|
|
date_begin: Date.new(2013, 9, 13),
|
|
date_end: Date.new(2013, 9, 20),
|
|
event_type: "pto",
|
|
event_desc: "Taking kids to Grand Canyon",
|
|
event_name: "AZ Trip"
|
|
},
|
|
{
|
|
user: "ken@metacorp.com",
|
|
date_begin: Date.new(2013, 12, 20),
|
|
date_end: Date.new(2013, 12, 30),
|
|
event_type: "pto",
|
|
event_desc: "Xmas Staycation",
|
|
event_name: "Christmas Leave"
|
|
}
|
|
]
|
|
|
|
work_info = [
|
|
{
|
|
user: "john@metacorp.com",
|
|
income: "$50,000",
|
|
bonuses: "$10,000",
|
|
years_worked: 2,
|
|
SSN: "555-55-5555",
|
|
DoB: "01-01-1980"
|
|
},
|
|
{
|
|
user: "james@metacorp.com",
|
|
income: "$40,000",
|
|
bonuses: "$10,000",
|
|
years_worked: 1,
|
|
SSN: "333-33-3333",
|
|
DoB: "01-01-1979"
|
|
},
|
|
{
|
|
user: "mike@metacorp.com",
|
|
income: "$60,000",
|
|
bonuses: "$12,000",
|
|
years_worked: 3,
|
|
SSN: "444-44-4444",
|
|
DoB: "01-01-1981"
|
|
},
|
|
{
|
|
user: "ken@metacorp.com",
|
|
income: "$30,000",
|
|
bonuses: "7,000",
|
|
years_worked: 1,
|
|
SSN: "222-22-2222",
|
|
DoB: "01-01-1982"
|
|
}
|
|
]
|
|
|
|
performance = [
|
|
{
|
|
user: "john@metacorp.com",
|
|
reviewer: 1,
|
|
comments: "Great job! You are my hero",
|
|
date_submitted: Date.new(2012, 01, 01),
|
|
score: 5
|
|
},
|
|
{
|
|
user: "john@metacorp.com",
|
|
reviewer: 1,
|
|
comments: "Once again, you've done a great job this year. We greatly appreciate your hard work.",
|
|
date_submitted: Date.new(2013, 01, 01),
|
|
score: 5
|
|
},
|
|
{
|
|
user: "james@metacorp.com",
|
|
reviewer: 1,
|
|
comments: "Great worker, great attitude for this newcomer!",
|
|
date_submitted: Date.new(2013, 01, 01),
|
|
score: 5
|
|
},
|
|
{
|
|
user: "mike@metacorp.com",
|
|
reviewer: 1,
|
|
comments: "Wow, right out of the gate we've been very impressed but unfortunately, our system doesn't allow us to give you a full 5.0 because other ppl have gotten 5.0 ratings.",
|
|
date_submitted: Date.new(2011, 01, 01),
|
|
score: 4
|
|
},
|
|
{
|
|
user: "mike@metacorp.com",
|
|
reviewer: 1,
|
|
comments: "We highly recommend promotion for this employee! Consistent performer with proven leadership qualities.",
|
|
date_submitted: Date.new(2012, 01, 01),
|
|
score: 5
|
|
},
|
|
{
|
|
user: "mike@metacorp.com",
|
|
reviewer: 1,
|
|
comments: "Right out of the gate, Mike has made incredible moves as a newly appointed leader. His only improvement would be more cowbell. Not enough of it.",
|
|
date_submitted: Date.new(2013, 01, 01),
|
|
score: 4
|
|
},
|
|
{
|
|
user: "ken@metacorp.com",
|
|
reviewer: 1,
|
|
comments: "Ehh, you are okay, we will let you stay..... barely",
|
|
date_submitted: Date.new(2013, 01, 01),
|
|
score: 2
|
|
}
|
|
]
|
|
|
|
messages = [
|
|
{
|
|
creator: "ken@metacorp.com",
|
|
receiver: "john@metacorp.com",
|
|
message: "Your benefits have been updated.",
|
|
read: false
|
|
},
|
|
{
|
|
creator: "mike@metacorp.com",
|
|
receiver: "james@metacorp.com",
|
|
message: "Please update your profile.",
|
|
read: false
|
|
},
|
|
{
|
|
creator: "james@metacorp.com",
|
|
receiver: "mike@metacorp.com",
|
|
message: "Welcome to Railsgoat.",
|
|
read: false
|
|
},
|
|
{
|
|
creator: "john@metacorp.com",
|
|
receiver: "ken@metacorp.com",
|
|
message: "Hello friend.",
|
|
read: false
|
|
}
|
|
]
|
|
|
|
user_map = users.each_with_object({}) do |user_info, h|
|
|
h[user_info[:email]] = User.create!(user_info).id
|
|
end
|
|
|
|
retirements.each do |r|
|
|
r[:user_id] = user_map.fetch(r.delete(:user))
|
|
Retirement.create!(r)
|
|
end
|
|
|
|
paid_time_off.each do |pto|
|
|
pto[:user_id] = user_map.fetch(pto.delete(:user))
|
|
PaidTimeOff.create!(pto)
|
|
end
|
|
|
|
schedule.each do |event|
|
|
event[:user_id] = user_map.fetch(event.delete(:user))
|
|
Schedule.create!(event)
|
|
end
|
|
|
|
performance.each do |perf|
|
|
perf[:user_id] = user_map.fetch(perf.delete(:user))
|
|
Performance.create!(perf)
|
|
end
|
|
|
|
messages.each do |message|
|
|
message[:creator_id] = user_map.fetch(message.delete(:creator))
|
|
message[:receiver_id] = user_map.fetch(message.delete(:receiver))
|
|
Message.create!(message)
|
|
end
|
|
|
|
work_info.each do |wi|
|
|
wi[:user_id] = user_map.fetch(wi.delete(:user))
|
|
WorkInfo.create!(wi)
|
|
end
|