aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/xyz/driver/pdsuicommon/db/EntityExtractorDerivation.scala
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/scala/xyz/driver/pdsuicommon/db/EntityExtractorDerivation.scala')
-rw-r--r--src/main/scala/xyz/driver/pdsuicommon/db/EntityExtractorDerivation.scala22
1 files changed, 10 insertions, 12 deletions
diff --git a/src/main/scala/xyz/driver/pdsuicommon/db/EntityExtractorDerivation.scala b/src/main/scala/xyz/driver/pdsuicommon/db/EntityExtractorDerivation.scala
index e13ea39..02ba322 100644
--- a/src/main/scala/xyz/driver/pdsuicommon/db/EntityExtractorDerivation.scala
+++ b/src/main/scala/xyz/driver/pdsuicommon/db/EntityExtractorDerivation.scala
@@ -8,13 +8,12 @@ import io.getquill.dsl.EncodingDsl
import scala.language.experimental.macros
import scala.reflect.macros.blackbox
-trait EntityExtractorDerivation[Naming <: NamingStrategy] {
- this: EncodingDsl =>
+trait EntityExtractorDerivation[Naming <: NamingStrategy] { this: EncodingDsl =>
- /**
- * Simple Quill extractor derivation for [[T]]
- * Only case classes available. Type parameters is not supported
- */
+ /*
+ Simple Quill extractor derivation for [[T]]
+ Only case classes available. Type parameters is not supported
+ */
def entityExtractor[T]: (ResultSet => T) = macro EntityExtractorDerivation.impl[T]
}
@@ -34,16 +33,16 @@ object EntityExtractorDerivation {
case cons: MethodSymbol if cons.isConstructor =>
// Create param list for constructor
val params = cons.paramLists.flatten.map { param =>
- val t = param.typeSignature
+ val t = param.typeSignature
val paramName = param.name.toString
- val col = q"$namingStrategy.column($paramName)"
+ val col = q"$namingStrategy.column($paramName)"
// Resolve implicit decoders (from SqlContext) and apply ResultSet for each
val d = q"implicitly[${c.prefix}.Decoder[$t]]"
// Minus 1 cause Quill JDBC decoders make plus one.
// ¯\_(ツ)_/¯
- val i = q"row.findColumn($col) - 1"
+ val i = q"row.findColumn($col) - 1"
val decoderName = TermName(paramName + "Decoder")
- val valueName = TermName(paramName + "Value")
+ val valueName = TermName(paramName + "Value")
(
q"val $decoderName = $d",
q"val $valueName = $decoderName($i, row)",
@@ -59,8 +58,7 @@ object EntityExtractorDerivation {
}
resultOpt match {
case Some(result) => result
- case None => c.abort(c.enclosingPosition,
- s"Can not derive extractor for $tpe. Constructor not found.")
+ case None => c.abort(c.enclosingPosition, s"Can not derive extractor for $tpe. Constructor not found.")
}
}
q"(row: java.sql.ResultSet) => $functionBody"