diff options
author | Jesse Luehrs <doy@tozt.net> | 2013-02-12 14:31:53 -0600 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2013-02-12 14:31:53 -0600 |
commit | 5e9bb2f3ad7c11826c81d9f7c5782de82bd22354 (patch) | |
tree | 2b45e95e5033a537886df884c5f724c154488e46 | |
parent | 31037aa59eac67d98aefc2d25f7d30764e319b67 (diff) | |
download | scala-di-test-5e9bb2f3ad7c11826c81d9f7c5782de82bd22354.tar.gz scala-di-test-5e9bb2f3ad7c11826c81d9f7c5782de82bd22354.zip |
make the container parameterizable
-rw-r--r-- | src/main/scala/cake.scala | 32 |
1 files 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") +} |