Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # In this file we define the methods to help filter out candidates
- # This way, we keep these methods separated from other potential parts of the program
- def find(id)
- @candidates.each do |candidate|
- if candidate[:id] == id
- return candidate
- end
- end
- return nil
- end
- def experienced?(candidate)
- if candidate[:years_of_experience] >= 2
- return true
- else
- return false
- end
- end
- def qualified_candidates(candidates)
- qualifiedCandidates = []
- candidates.each do |candidate|
- todaysJDate = DateTime.parse(Time.now.to_s).jd
- appliedJDate = candidate[:date_applied].jd
- daysElapsed = todaysJDate - appliedJDate
- if experienced?(candidate) &&
- candidate[:github_points] >= 100 &&
- candidate[:languages].include?('Python') &&
- candidate[:languages].include?('Ruby') &&
- daysElapsed <= 15 &&
- candidate[:age] > 17
- then
- qualifiedCandidates.push(candidate)
- end
- end
- return qualifiedCandidates
- end
- def sortByExperience(candidates)
- return candidates.sort_by {|candidate| [-candidate[:years_of_experience], -candidate[:github_points]] }
- end
Add Comment
Please, Sign In to add comment