Skip to content

Instantly share code, notes, and snippets.

@AlexRogalskiy
Last active December 20, 2020 10:23
Show Gist options
  • Save AlexRogalskiy/cc95440e28c777eac4fa17e3f8e7a335 to your computer and use it in GitHub Desktop.
Save AlexRogalskiy/cc95440e28c777eac4fa17e3f8e7a335 to your computer and use it in GitHub Desktop.
Scala play framework utils
package utils
import scala.concurrent.duration.FiniteDuration
import scala.concurrent.duration._
import play.api.Application
import collection.JavaConversions._
object ConfigString {
implicit class ConfigStr(s: String) {
def configOrElse(default: FiniteDuration)(implicit app: Application): FiniteDuration =
app.configuration.getMilliseconds(s).map(_ milliseconds).getOrElse(default)
def configOrElse(default: Long)(implicit app: Application): Long =
app.configuration.getMilliseconds(s).getOrElse(default)
def configOrElse(default: Double)(implicit app: Application): Double =
app.configuration.getDouble(s).getOrElse(default)
def configOrElse(default: String)(implicit app: Application): String =
app.configuration.getString(s).getOrElse(default)
def configOrElse(default: Boolean)(implicit app: Application): Boolean =
app.configuration.getBoolean(s).getOrElse(default)
def configOrElse(default: Seq[String])(implicit app: Application): Seq[String] =
app.configuration.getStringList(s).map(_.toSeq).getOrElse(default)
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment