trevjones
07/06/2017, 9:11 PMinterface Environment {
val adapter: String
val host: String
val port: Int
val username: String
val password: String
val database: String
}
class EnvVarEnvironment(val keyPrefix: String) : Environment {
override val adapter = "mysql"
override val host = System.getenv("${keyPrefix}DB_HOST")
override val port = System.getenv("${keyPrefix}DB_PORT").toInt()
override val username = System.getenv("${keyPrefix}DB_USERNAME")
override val password = System.getenv("${keyPrefix}DB_PASSWORD")
override val database = System.getenv("${keyPrefix}DB_NAME")
}
object Development : Environment by EnvVarEnvironment("DEV_")
object Staging: Environment by EnvVarEnvironment("STAGING_")
object Production : Environment by EnvVarEnvironment("")