summaryrefslogtreecommitdiffstats
path: root/src/main/scala/myapp/cake/container.scala
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/scala/myapp/cake/container.scala')
-rw-r--r--src/main/scala/myapp/cake/container.scala49
1 files changed, 0 insertions, 49 deletions
diff --git a/src/main/scala/myapp/cake/container.scala b/src/main/scala/myapp/cake/container.scala
deleted file mode 100644
index 6437c8b..0000000
--- a/src/main/scala/myapp/cake/container.scala
+++ /dev/null
@@ -1,49 +0,0 @@
-package myapp.cake.container
-
-import myapp.cake.services
-import myapp.logger.FileLogger
-import myapp.database.DBI
-import myapp.application.MyApp
-
-trait HasLogger extends services.HasLogger {
- type LoggerType = Logger
-
- class Logger(
- logFileName: String
- ) extends FileLogger(logFileName) with LoggerService
-}
-
-trait HasDatabase extends services.HasDatabase {
- type DatabaseType = Database
-
- class Database protected (
- dsn: String,
- username: String,
- password: String
- ) extends DBI(dsn, username, password) with DatabaseService
-
- object Database {
- def connect(dsn: String, username: String, password: String) =
- new Database(dsn, username, password)
- }
-}
-
-trait HasApplication extends services.HasApplication {
- this: HasLogger with HasDatabase =>
-
- type ApplicationType = Application
-
- class Application extends MyApp(logger, database) with ApplicationService
-}
-
-class Container (
- logFileName: String = "out.log",
- dsn: String = "dbi:mysql:myapp",
- username: String = "doy",
- password: String = "blah"
-) extends HasApplication with HasLogger with HasDatabase {
- 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)
-}