private def mainMessage()

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)"""
    }
  }