secret_santa 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/bin/secret_santa +5 -0
- data/lib/secret_santa.rb +31 -0
- metadata +46 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: a25f18576ec5f27b591edb9cefae2461d0ec9a2a
|
4
|
+
data.tar.gz: c0cff936e01201c8acc1ec74ce3d59821a63c00f
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 40b621ecbc7a3b746baa28864026b4055616f580b282c9bdd4cebfd10329cad9cc3265e7ace7d8ce2fc47ad7cb9cdf7b79e288449f29ed9610598cb167c0ab9d
|
7
|
+
data.tar.gz: d18e4293f181a0b5d8eadbeeb25c26d632198575f0dc767fff4c83dfaa5d1b278987fd0d0c14a5bf0463c40c7fb32a3179e0f32c77394aa8513024d86653236d
|
data/bin/secret_santa
ADDED
data/lib/secret_santa.rb
ADDED
@@ -0,0 +1,31 @@
|
|
1
|
+
class SecretSanta
|
2
|
+
# Create the Secret Santa list
|
3
|
+
def self.create_list(names)
|
4
|
+
if names.length <= 2
|
5
|
+
"ERROR: List too short"
|
6
|
+
elsif names.length != names.uniq.length
|
7
|
+
"ERROR: Please enter unique names"
|
8
|
+
else
|
9
|
+
# Build the list
|
10
|
+
list = []
|
11
|
+
digraph_list = []
|
12
|
+
names.shuffle!
|
13
|
+
names.each_with_index { |name, i| list << "#{name} -> #{names[i - 1]}" }
|
14
|
+
# Write the list to a graphviz dot file
|
15
|
+
digraph_list = list.join("; ")
|
16
|
+
digraph = "digraph {#{digraph_list}}\n"
|
17
|
+
File.open("#{Time.now.year}_secret_santa_list.dot", 'w') { |f| f.write("#{digraph}") }
|
18
|
+
# Return the list
|
19
|
+
puts "\n#{Time.now.year} Secret Santa List:"
|
20
|
+
puts list
|
21
|
+
"\nList saved to #{Time.now.year}_secret_santa_list.png"
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
# Get Secret Santa names and handle
|
26
|
+
def self.solicit_input
|
27
|
+
puts "Enter each name in the Secret Santa pool, separated by a space:"
|
28
|
+
names = gets.downcase.chomp
|
29
|
+
create_list(names.split(" "))
|
30
|
+
end
|
31
|
+
end
|
metadata
ADDED
@@ -0,0 +1,46 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: secret_santa
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.2
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Jake Worth
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2014-12-18 00:00:00.000000000 Z
|
12
|
+
dependencies: []
|
13
|
+
description: A Secret Santa engine, written in Ruby
|
14
|
+
email: jake@worth-chicago.co
|
15
|
+
executables:
|
16
|
+
- secret_santa
|
17
|
+
extensions: []
|
18
|
+
extra_rdoc_files: []
|
19
|
+
files:
|
20
|
+
- lib/secret_santa.rb
|
21
|
+
- bin/secret_santa
|
22
|
+
homepage: https://github.com/jwworth/secret_santa
|
23
|
+
licenses:
|
24
|
+
- MIT
|
25
|
+
metadata: {}
|
26
|
+
post_install_message:
|
27
|
+
rdoc_options: []
|
28
|
+
require_paths:
|
29
|
+
- lib
|
30
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
31
|
+
requirements:
|
32
|
+
- - '>='
|
33
|
+
- !ruby/object:Gem::Version
|
34
|
+
version: '0'
|
35
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
36
|
+
requirements:
|
37
|
+
- - '>='
|
38
|
+
- !ruby/object:Gem::Version
|
39
|
+
version: '0'
|
40
|
+
requirements: []
|
41
|
+
rubyforge_project:
|
42
|
+
rubygems_version: 2.0.14
|
43
|
+
signing_key:
|
44
|
+
specification_version: 4
|
45
|
+
summary: A Secret Santa engine, written in Ruby
|
46
|
+
test_files: []
|