diff options
author | vlad <vlad@drivergrp.com> | 2016-10-21 16:07:05 -0400 |
---|---|---|
committer | vlad <vlad@drivergrp.com> | 2016-10-21 16:07:05 -0400 |
commit | 02810f5eac3b4ce6a5d1128281a01b2a2ed0647c (patch) | |
tree | a733b421759216a7f12d227d2f912eecdfa842aa /src/main/scala/com/drivergrp/core/messages.scala | |
parent | 7c77f5ff23e4b0f8d5e189492bc4f25f847adc00 (diff) | |
download | driver-core-02810f5eac3b4ce6a5d1128281a01b2a2ed0647c.tar.gz driver-core-02810f5eac3b4ce6a5d1128281a01b2a2ed0647c.tar.bz2 driver-core-02810f5eac3b4ce6a5d1128281a01b2a2ed0647c.zip |
Renamed package to xyz, New formatting, authorize directive supporting multiple permissions
Diffstat (limited to 'src/main/scala/com/drivergrp/core/messages.scala')
-rw-r--r-- | src/main/scala/com/drivergrp/core/messages.scala | 59 |
1 files changed, 0 insertions, 59 deletions
diff --git a/src/main/scala/com/drivergrp/core/messages.scala b/src/main/scala/com/drivergrp/core/messages.scala deleted file mode 100644 index 3a97401..0000000 --- a/src/main/scala/com/drivergrp/core/messages.scala +++ /dev/null @@ -1,59 +0,0 @@ -package com.drivergrp.core - -import java.util.Locale - -import com.drivergrp.core.logging.Logger -import com.typesafe.config.Config - -import scala.collection.JavaConverters._ - -/** - * Scala internationalization (i18n) support - */ -object messages { - - object Messages { - def messages(config: Config, log: Logger, locale: Locale = Locale.US): Messages = { - val map = config.getConfig(locale.getLanguage).root().unwrapped().asScala.mapValues(_.toString).toMap - Messages(map, locale, log) - } - } - - final case class Messages(map: Map[String, String], locale: Locale, log: Logger) { - - /** - * Returns message for the key - * - * @param key key - * @return message - */ - def apply(key: String): String = { - map.get(key) match { - case Some(message) => message - case None => - log.error(s"Message with key '$key' not found for locale '${locale.getLanguage}'") - key - } - } - - /** - * Returns message for the key and formats that with parameters - * - * @example "Hello {0}!" with "Joe" will be "Hello Joe!" - * - * @param key key - * @param params params to be embedded - * @return formatted message - */ - def apply(key: String, params: Any*): String = { - - def format(formatString: String, params: Seq[Any]) = - params.zipWithIndex.foldLeft(formatString) { - case (res, (value, index)) => res.replace(s"{$index}", value.toString) - } - - val template = apply(key) - format(template, params) - } - } -} |