Skip to content

Instantly share code, notes, and snippets.

@kirill-fedyanin
Created December 22, 2015 20:13
Show Gist options
  • Save kirill-fedyanin/c3509d66959f32a04029 to your computer and use it in GitHub Desktop.
Save kirill-fedyanin/c3509d66959f32a04029 to your computer and use it in GitHub Desktop.
Secret santa
require "mail"
PEOPLE = JSON.parse File.read("people")
# MAILER_SETUP =
Mail.defaults do
delivery_method :smtp, {
address: "smtp.yandex.ru",
port: 465,
user_name: "kirill@fedyanin.me",
password: ENV["MAIL_PASS"],
authentication: "plain",
ssl: true
}
end
def send_mail(email_to, body, file_name)
mail = Mail.new do
from "kirill@fedyanin.me"
to email_to
subject "Запрягай оленей!"
body body
add_file file_name
end
puts mail.deliver!
# puts mail.to_s
end
def launch
shuffled = PEOPLE.to_a.map(&:first).shuffle
log = File.open("Logfile", "w+")
shuffled.each_with_index do |person, index|
mail = PEOPLE[person][:mail]
person_to = shuffled[index-1]
file_name = PEOPLE[person_to][:file]
text = mail_text(person_to)
send_mail(mail, text, file_name)
log.puts logger_text(person, mail, text, file_name)
end
log.close
end
def logger_text(person, mail, text, file_name)
%Q{
#{person} получает письмо на #{mail} с текстом
\n#{text}\n и файлом #{file_name}\n\n
}
end
def mail_text(person_to)
"Хо!хо!хо!🎅🐼🐼🐾\n\n"\
"Поздравляю, ты прошёл испытание и попал в сообщество секретных сант ^_^. "\
"#{person_to} очень сильно ждёт твоего подарка. "\
"Чтобы немного помочь тебе - прикрепляю список желаний💌📄. "\
"Не забудь красиво упаковать и положить под ёлку в нужный момент 🎁\n\n"\
"Удачи!"
end
#
launch()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment