From 6e743ddc61bd70594a9f039c72715b183de7786e Mon Sep 17 00:00:00 2001 From: Jesse Luehrs Date: Wed, 13 Feb 2013 10:26:39 -0600 Subject: allow non-singleton lifecycle services too --- src/main/scala/myapp/cake/container.scala | 7 ++++--- src/main/scala/myapp/cake/services.scala | 6 +++--- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/src/main/scala/myapp/cake/container.scala b/src/main/scala/myapp/cake/container.scala index 7c40880..6437c8b 100644 --- a/src/main/scala/myapp/cake/container.scala +++ b/src/main/scala/myapp/cake/container.scala @@ -42,7 +42,8 @@ class Container ( username: String = "doy", password: String = "blah" ) extends HasApplication with HasLogger with HasDatabase { - lazy val application = new Application - lazy val logger = new Logger(logFileName) - lazy val database = Database.connect(dsn, username, password) + def application = new Application + // def logger = new Logger(logFileName) // non-singleton + lazy val logger = new Logger(logFileName) // singleton + def database = Database.connect(dsn, username, password) } diff --git a/src/main/scala/myapp/cake/services.scala b/src/main/scala/myapp/cake/services.scala index 99be3d5..6d4a860 100644 --- a/src/main/scala/myapp/cake/services.scala +++ b/src/main/scala/myapp/cake/services.scala @@ -6,7 +6,7 @@ import myapp.logger.Logger trait HasApplication { type ApplicationType - val application: ApplicationType with ApplicationService + def application (): ApplicationType with ApplicationService trait ApplicationService { def run (): Unit @@ -16,7 +16,7 @@ trait HasApplication { trait HasDatabase { type DatabaseType - val database: DatabaseType with DatabaseService + def database (): DatabaseType with DatabaseService trait DatabaseService extends Database } @@ -24,7 +24,7 @@ trait HasDatabase { trait HasLogger { type LoggerType - val logger: LoggerType with LoggerService + def logger (): LoggerType with LoggerService trait LoggerService extends Logger } -- cgit v1.2.3-54-g00ecf