class Runner::Project
Attributes
members[R]
name[RW]
Public Class Methods
new(name)
click to toggle source
# File lib/Runner/project.rb, line 10 def initialize(name) @name = name.capitalize @members = [] end
Public Instance Methods
add_member(member)
click to toggle source
# File lib/Runner/project.rb, line 15 def add_member(member) @members << member end
review(cycles)
click to toggle source
# File lib/Runner/project.rb, line 38 def review(cycles) dice = Die.new 1.upto(cycles) do |cycle| puts "CYCLE #{cycle}:" @members.each do |reviewer| puts "Review being done by #{reviewer.name}:" @members.each do |reviewee| if reviewee != reviewer puts "#{reviewer.name} is rating #{reviewee.name}" case dice.roll when 1,2 reviewee.rated_down when 4,5,6 reviewee.rated_up else puts "#{reviewer.name} doesn't know enough about #{reviewee.name}'s work" end end end # reviewee end # reviewer show_members end # cycle end
save_final_ratings()
click to toggle source
# File lib/Runner/project.rb, line 62 def save_final_ratings CSV.open("#{Dir.home}/Runner/bin/final_ratings.csv", 'w') do |csv| @members.each do |member| csv_string = [member.name,member.rating.to_s] csv << csv_string end end end
show_members()
click to toggle source
# File lib/Runner/project.rb, line 19 def show_members puts "#{self.name} has the following members:" sorted_members = @members.sort {|a,b| b.rating <=> a.rating} sorted_members.each do |member| puts "\t - #{member.name} rated #{member.rating}" end strong_members, weak_members = @members.partition{|member| member.strong?} puts "\n\nThe STRONG team members are:" strong_members.each do |member| puts "#{member.name}*" end puts "\n\nThe WEAK team members are:" weak_members.each do |member| puts "#{member.name}~" end end