From 5e9bb2f3ad7c11826c81d9f7c5782de82bd22354 Mon Sep 17 00:00:00 2001 From: Jesse Luehrs Date: Tue, 12 Feb 2013 14:31:53 -0600 Subject: make the container parameterizable --- src/main/scala/cake.scala | 32 +++++++++++++++++++++++++++++--- 1 file changed, 29 insertions(+), 3 deletions(-) diff --git a/src/main/scala/cake.scala b/src/main/scala/cake.scala index e0d3eb2..e7a83ac 100644 --- a/src/main/scala/cake.scala +++ b/src/main/scala/cake.scala @@ -16,9 +16,35 @@ trait HasApplication extends cake.services.HasApplication { class Application extends cake.application.Application(logger, database) with IApplication } -object Container extends HasApplication with HasLogger with HasDatabase { - val logger = new Logger("out.log") +class Container ( + logFileName: String = "out.log", + dsn: String = "dbi:mysql:myapp", + username: String = "doy", + password: String = "blah" + ) extends HasApplication with HasLogger with HasDatabase { + val logger = new Logger(logFileName) // val database = Database.connect("dbi:mysql:myapp", "doy", "blah") - val database = new Database("dbi:mysql:myapp", "doy", "blah") + val database = new Database(dsn, username, password) val application = new Application } + +object MyApp extends Application { + val container1 = new Container + println("running container 1") + container1.application.run + println("done with container 1") + + val container2 = new Container(logFileName = "other.log") + println("running container 2") + container2.application.run + println("done with container 2") + + val container3 = new Container( + dsn = "dbi:SQLite::memory:", + username = "", + password = "" + ) + println("running container 3") + container3.application.run + println("done with container 3") +} -- cgit v1.2.3-54-g00ecf