Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # 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 command (or created alongside the database with db:setup).
- #
- # Examples:
- #
- # movies = Movie.create([{ name: 'Star Wars' }, { name: 'Lord of the Rings' }])
- # Character.create(name: 'Luke', movie: movies.first)
- puts 'Creating candidates...'
- 30.times do
- Candidate.create!(
- first_name: FFaker::Name.first_name,
- last_name: FFaker::Name.last_name,
- email: "#{rand(0..1000).to_s + FFaker::Internet.email}" ,
- summary: FFaker::Lorem.sentence,
- password: 'password',
- password_confirmation: 'password'
- )
- end
- Candidate.create!(
- first_name: 'Test',
- last_name: 'Candidate',
- email: 'test@gmail.com',
- password: 'password',
- password_confirmation: 'password'
- )
- puts 'Creating companies...'
- 32.times do
- Company.create!(
- name: "#{FFaker::Company.name} - ##{rand(0..1000)}",
- email: "#{rand(0..1000).to_s + FFaker::Internet.email}" ,
- location: FFaker::Address.city,
- industry: FFaker::Company.position
- )
- end
- puts 'Creating employers...'
- Company.find_each do |company|
- 2.times do
- Employer.create!(
- first_name: FFaker::Name.first_name,
- last_name: FFaker::Name.last_name,
- email: "#{rand(0..1000).to_s + FFaker::Internet.email}" ,
- description: FFaker::Lorem.sentence,
- fee_percent: 10,
- address: FFaker::Address.street_address,
- company: company
- )
- end
- end
- puts 'Creating employees...'
- Employer.find_each do |employer|
- Employee.create!(
- first_name: FFaker::Name.first_name,
- last_name: FFaker::Name.last_name,
- email: "#{rand(0..1000).to_s + FFaker::Internet.email}" ,
- password: 'password',
- password_confirmation: 'password',
- employee_type: Employee.employee_types[:admin],
- employer: employer,
- company: employer.company
- )
- Employee.create!(
- first_name: FFaker::Name.first_name,
- last_name: FFaker::Name.last_name,
- email: "#{rand(0..1000).to_s + FFaker::Internet.email}" ,
- password: 'password',
- password_confirmation: 'password',
- employee_type: Employee.employee_types[:member],
- employer: employer,
- company: employer.company
- )
- Employee.create!(
- first_name: FFaker::Name.first_name,
- last_name: FFaker::Name.last_name,
- email: "#{rand(0..1000).to_s + FFaker::Internet.email}" ,
- password: 'password',
- password_confirmation: 'password',
- employee_type: Employee.employee_types[:owner],
- employer: employer,
- company: employer.company
- )
- end
- Employee.create!(
- first_name: 'Test',
- last_name: 'Employee',
- email: 'test@gmail.com',
- password: 'password',
- password_confirmation: 'password',
- employee_type: Employee.employee_types[:admin],
- employer: Employer.first,
- company: Employer.first.company
- )
- puts 'Creating headhunters...'
- 30.times do
- Headhunter.create!(
- first_name: FFaker::Name.first_name,
- last_name: FFaker::Name.last_name,
- email: "#{rand(0..1000).to_s + FFaker::Internet.email}" ,
- password: 'password',
- password_confirmation: 'password',
- fee_percent: 15
- )
- end
- Headhunter.create!(
- first_name: 'Test',
- last_name: 'Headhunter',
- email: 'test@gmail.com',
- password: 'password',
- password_confirmation: 'password',
- fee_percent: 15
- )
- puts 'Creating skills...'
- Skill.create!(name: 'Engining')
- Skill.create!(name: 'Ruby')
- Skill.create!(name: 'Ruby on Rails')
- Skill.create!(name: 'JavaScript')
- Skill.create!(name: 'ReactJs')
- Skill.create!(name: 'Jquery')
- Skill.create!(name: 'AngularJs')
- Skill.create!(name: 'C')
- Skill.create!(name: 'C++')
- Skill.create!(name: 'PHP')
- Skill.create!(name: 'SQL')
- Skill.create!(name: 'PostgreSQL')
- Skill.create!(name: 'MySQL')
- Skill.create!(name: 'Git')
- Skill.create!(name: 'RESTfulAPI')
- Skill.create!(name: 'Debugging')
- Skill.create!(name: 'Windows')
- Skill.create!(name: 'Linux')
- puts 'Creating positions...'
- 10.times do
- Position.create!(
- name: "#{FFaker::Company.position} - ##{rand(0..1000)}"
- )
- end
- puts 'Creating requisitions...'
- Employee.find_each do |employee|
- 10.times do
- Requisition.create!(
- requisition_number: "#{FFaker::AddressCA.postal_code} - #{rand(0..9000)}",
- name: "#{FFaker::Job.title} - ##{rand(0..9000)}",
- description: FFaker::Lorem.sentence,
- location: FFaker::Address.city,
- salary: 99999,
- status: 'opened',
- employee: employee,
- employer: employee.employer,
- company: employee.employer.company,
- position: Position.order('RANDOM()').first
- )
- end
- end
- puts 'Creating requisition_openings...'
- Employee.find_each do |employee|
- 5.times do
- employee.requisition_openings.create!(
- employer: employee.employer,
- headcount: rand(1..10),
- title: FFaker::Lorem.sentence,
- state: 'pending'
- )
- end
- end
- puts 'Creating requisition requirements...'
- RequisitionOpening.find_each do |req_opening|
- req_opening.create_requisition_requirement!(
- description: FFaker::Lorem.sentence,
- salary_range: "$#{rand(1000..1500)} - #{rand(1600..3000)}",
- title: FFaker::Lorem.sentence,
- external_name: FFaker::Company.position,
- benefits: { first_benefit: 'super professional team', second_benefit: 'free coffee' },
- terms: { first_term: 'term 1', second_term: 'term 2' }
- )
- end
- puts 'Creating education organizations...'
- 1.times do
- EducationOrganization.create!(
- name: FFaker::Education.school_name,
- description: FFaker::Lorem.sentence,
- organization_type: 'high_school',
- )
- EducationOrganization.create!(
- name: FFaker::Education.major,
- description: FFaker::Lorem.sentence,
- organization_type: 'college',
- )
- EducationOrganization.create!(
- name: FFaker::Education.school,
- description: FFaker::Lorem.sentence,
- organization_type: 'university',
- )
- end
- puts 'Creating nested data for candidates...'
- Candidate.all.each_with_index do |candidate, i|
- company = Company.all[i]
- headhunter = Headhunter.all[i]
- candidate.update!(
- headhunter: headhunter
- )
- candidate.work_histories.create!(
- company: company,
- position: company.positions.first,
- start_date: Date.today,
- salary: 100000,
- description: FFaker::Lorem.sentence
- )
- candidate.candidate_companies.create!(
- company: company,
- status: 'blocked'
- )
- candidate.candidate_companies.create!(
- company: Company.all[i + 1],
- status: 'favourite'
- )
- 2.times do
- candidate.candidate_educations.create!(
- education_organization: EducationOrganization.order('RANDOM()').first,
- description: FFaker::Lorem.sentence,
- degree: FFaker::Education.degree_short,
- started_at: 5.years.ago,
- finished_at: Date.today + 2.years
- )
- end
- CandidateLevel.create!(
- candidate: candidate,
- level: 'bronze',
- description: FFaker::Lorem.sentence,
- rank_percentile: 10
- )
- CandidateRequirement.create!(
- candidate: candidate,
- location: FFaker::Address.city,
- industry: FFaker::Company.position,
- company_size: 50 + rand(1000),
- salary: 10000 + rand(50000)
- )
- 5.times do
- candidate.requisition_candidates.create!(
- requisition_opening: RequisitionOpening.order('RANDOM()').first
- )
- end
- candidate.requisition_candidates.each do |r_c|
- r_c.requisition_statuses.create!(
- status: 'messaged',
- notes: FFaker::Lorem.sentence
- )
- end
- 3.times do
- candidate.candidate_skills.create!(
- skill: Skill.order('RANDOM()').first
- )
- end
- candidate.employer_candidates.create!(
- employer: Employer.all[0],
- status: 'interview_requested'
- )
- candidate.employer_candidates.create!(
- employer: Employer.all[1],
- status: 'interview_accepted'
- )
- candidate.employer_candidates.create!(
- employer: Employer.all[2],
- status: 'interview_declined'
- )
- candidate.employer_candidates.create!(
- employer: Employer.all[3],
- status: 'interview_scheduled'
- )
- candidate.employer_candidates.create!(
- employer: Employer.all[4],
- status: 'interviewed'
- )
- candidate.employer_candidates.create!(
- employer: Employer.all[5],
- status: 'offer_sent'
- )
- candidate.employer_candidates.create!(
- employer: Employer.all[6],
- status: 'offer_declined'
- )
- candidate.employer_candidates.create!(
- employer: Employer.all[7],
- status: 'hired'
- )
- end
- puts 'Creating requisiton_openings for test employee employer...'
- Employee.last.employer.requisition_openings.each do |req_opening|
- 5.times do
- RequisitionCandidate.create!(
- candidate: Candidate.order('RANDOM()').first,
- requisition_opening: req_opening
- )
- end
- end
- puts 'Importing Candidates to Elasticsearch indexes...'
- Candidate.import
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement