Use this utility to create a set of matches for a secret santa gift swap.
Download the project and get ready to create some fun!
Set up the people.json file to create your participants with relationships to avoid boring matches. Use the sample_people.json file as an example, and create as many files as you need to manage your groups.
Copy the sample_config.rb file to config.rb and set the config parameters for email information.
Run the secret santa script to match folks together and send them emails to let them know who gets whom.
You'll need to have ruby installed and a few gems.
configatron json OptionParser
Set up the people.json file as per this example:
{"family1": [
{"name":"Mickey", "email":"[email protected]", "spouse":"Minnie"},
{"name":"Minnie", "email":"[email protected]", "spouse":"Mickey"},
{"name":"Donald", "email":"[email protected]", "spouse":"Daisy"},
{"name":"Daisy", "email":"[email protected]", "spouse":"Donald"},
],
"family2": [
{"name":"Harry", "email":"[email protected]", "spouse":"Ginny"},
{"name":"Ginny", "email":"[email protected]", "spouse":"Harry"},
{"name":"Hermionie", "email":"[email protected]", "spouse":"Ron"},
{"name":"Ron", "email":"[email protected]", "spouse":"Hermionie"},
{"name":"Draco", "email":"[email protected]"},
{"name":"Albus", "email":"[email protected]"}
]
}
You can have multiple families and each person is identified by their name, email and spouse (optionally). The tool will randomize the pairings and validate that no one has received a match with their spouse. If the validations pass, a valid set is achieved and emails can be sent out.
Usage: secretsanta.rb [options]
-i, --input-file filename Input file name
-f, --family-name familyname Input family name to use
-s, --send-emails Turn on email sending
-v, --verbose Turn on verbose messaging
- David Faux - Initial work - dfaux
This project is licensed under the MIT License - see the LICENSE.md file for details