blob: ce22f2a3a2774b8a039babc5a31f065305444815 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
trait OutputHelpers extends slick.codegen.OutputHelpers {
def imports: String
def headerComment: String = ""
override def packageCode(profile: String,
pkg: String,
container: String,
parentType: Option[String]): String = {
val traitName = container.capitalize + "SchemaDef"
s"""|${headerComment.trim().lines.map("// " + _).mkString("\n")}
|package $pkg
|
|$imports
|
|/** Stand-alone Slick data model for immediate use */
|object $container extends {
| val profile = $profile
|} with $traitName
|
|/** Slick data model trait for extension, choice of backend or usage in the cake pattern. (Make sure to initialize this late.) */
|trait $traitName${parentType.fold("")(" extends " + _)} {
| import profile.api._
| ${indent(code)}
|}""".stripMargin.trim()
}
}
|