diff options
author | Jon Pretty <jon.pretty@propensive.com> | 2017-10-30 19:25:07 +0100 |
---|---|---|
committer | Jon Pretty <jon.pretty@propensive.com> | 2017-10-30 19:25:07 +0100 |
commit | 7b776425828d27b3112ad5bddafaa7564c326536 (patch) | |
tree | be041b460d9fced354fa6a7dabd03d7ced185d5a /examples/src/main/scala/typeclasses.scala | |
parent | 86c66ba93b5dc15301ac305fa28e24952e232613 (diff) | |
download | magnolia-7b776425828d27b3112ad5bddafaa7564c326536.tar.gz magnolia-7b776425828d27b3112ad5bddafaa7564c326536.tar.bz2 magnolia-7b776425828d27b3112ad5bddafaa7564c326536.zip |
Support for case objects
Diffstat (limited to 'examples/src/main/scala/typeclasses.scala')
-rw-r--r-- | examples/src/main/scala/typeclasses.scala | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/examples/src/main/scala/typeclasses.scala b/examples/src/main/scala/typeclasses.scala index d3017e5..ed59eda 100644 --- a/examples/src/main/scala/typeclasses.scala +++ b/examples/src/main/scala/typeclasses.scala @@ -14,7 +14,7 @@ import scala.annotation.unchecked.uncheckedVariance object Show { def join[T](context: JoinContext[Show, T])(value: T): String = context.parameters.map { param => s"${param.label}=${param.typeclass.show(param.dereference(value))}" - }.mkString(s"{", ",", "}") + }.mkString(s"${context.typeName.split("\\.").last}(", ",", ")") def split[T](subclasses: List[Subclass[Show, T]])(value: T): String = subclasses.map { sub => sub.cast.andThen { value => @@ -81,6 +81,7 @@ trait Decoder[T] { def decode(str: String): T } sealed trait Tree case class Leaf(value: String) extends Tree case class Branch(left: Tree, right: Tree) extends Tree +case object Bud extends Tree sealed trait Entity |