From 11ef3efcea24d35785d62057da78156b160709d6 Mon Sep 17 00:00:00 2001 From: Jesse Luehrs Date: Tue, 12 Feb 2013 16:28:03 -0600 Subject: demonstrate using an alternate constructor --- src/main/scala/cake.scala | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'src/main/scala/cake.scala') diff --git a/src/main/scala/cake.scala b/src/main/scala/cake.scala index df4b1b9..0395cad 100644 --- a/src/main/scala/cake.scala +++ b/src/main/scala/cake.scala @@ -7,7 +7,11 @@ trait HasLogger extends cake.services.HasLogger { trait HasDatabase extends cake.services.HasDatabase { type DatabaseType = Database - class Database(dsn: String, username: String, password: String) extends cake.database.DBI(dsn, username, password) with IDatabase + class Database protected (dsn: String, username: String, password: String) extends cake.database.DBI(dsn, username, password) with IDatabase + object Database { + def connect(dsn: String, username: String, password: String) = + new Database(dsn, username, password) + } } trait HasApplication extends cake.services.HasApplication { @@ -24,8 +28,7 @@ class Container ( ) extends HasApplication with HasLogger with HasDatabase { lazy val application = new Application lazy val logger = new Logger(logFileName) - // val database = Database.connect("dbi:mysql:myapp", "doy", "blah") - lazy val database = new Database(dsn, username, password) + lazy val database = Database.connect(dsn, username, password) } object MyApp extends Application { -- cgit v1.2.3-54-g00ecf