Skip to content

Instantly share code, notes, and snippets.

@pumpkincouture
Last active August 29, 2015 14:06
Show Gist options
  • Save pumpkincouture/c52ed4da78467eabba59 to your computer and use it in GitHub Desktop.
Save pumpkincouture/c52ed4da78467eabba59 to your computer and use it in GitHub Desktop.
def assign_correct_santa
assigned = assign_random_santa
santa_shuffled = @santa_shuffled.clone
assigned.each do |person|
potential = assigned.select{ |other_person| person.assigned_santa.legit_santa(other_person) &&
other_person.assigned_santa.legit_santa(person) }
unless potential.empty?
other_person = potential [ rand ]
to_swap = person.assigned_santa
person.assigned_santa = other_person.assigned_santa
other_person.assigned_santa = to_swap
end
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment