in football/src/main/scala/com/gu/mobile/notifications/football/notificationbuilders/MatchStatusNotificationBuilder.scala [96:133]
private def mainMessage(triggeringEvent: FootballMatchEvent, homeTeamName: String, awayTeamName: String, score: Score, matchStatus: String) = {
def goalMsg(goal: Goal) = {
val extraInfo = {
val goalTypeInfo = condOpt(goal.goalType) {
case OwnGoalType => "o.g."
case PenaltyGoalType => "pen"
}
val addedTimeInfo = goal.addedTime.map("+" + _)
List(goalTypeInfo, addedTimeInfo).flatten match {
case Nil => ""
case xs => s" (${xs.mkString(" ")})"
}
}
s"""${homeTeamName} ${score.home}-${score.away} ${awayTeamName} ($matchStatus)
|${goal.scorerName} ${goal.minute}min$extraInfo""".stripMargin
}
def dismissalMsg(dismissal: Dismissal):String = {
val extraInfo = {
dismissal.addedTime.map("+" + _).getOrElse("")
}
s"""${homeTeamName} ${score.home}-${score.away} ${awayTeamName} ($matchStatus)
|${dismissal.playerName} (${dismissal.team.name}) ${dismissal.minute}min$extraInfo""".stripMargin
}
triggeringEvent match {
case g: Goal => goalMsg(g)
case dismissal: Dismissal => dismissalMsg(dismissal)
case _ => s"""${homeTeamName} ${score.home}-${score.away} ${awayTeamName} ($matchStatus)"""
}
}