in anghammarad/src/main/scala/com/gu/anghammarad/messages/SendMessages.scala [11:20]
def sendAll(config: Configuration, toSend: List[(Message, Contact)]): Try[Unit] = {
toSend.traverseT {
case (message: EmailMessage, EmailAddress(address)) =>
EmailService.sendEmail(config.emailSender, address, message)
case (message: HangoutMessage, HangoutsRoom(webhook)) =>
HangoutsService.sendHangoutsMessage(webhook, message)
case (message, contact) =>
Fail(s"Invalid recipients, cannot send $message to $contact")
}.map(_ => ())
}