Skip to content

Instantly share code, notes, and snippets.

View yadavan88's full-sized avatar

Yadu Krishnan yadavan88

View GitHub Profile
@yadavan88
yadavan88 / DuckTyping.scala
Last active April 4, 2022 18:14
Code Samples explaining Duck typing/Structural Typing in Scala. The blog with explanation is available here: https://yadukrishnan.hashnode.dev/duck-typing-in-scala
object DuckTyping {
case class Bird(name: String, color: String) {
def fly(): Unit = println(s"A bird `$name` is flying! ")
}
case class Aeroplane(make: String, airline: String) {
def fly(): Unit = println(s"$airline is flying $make aeroplane")
}
@yadavan88
yadavan88 / Error.log
Last active September 12, 2018 11:39
json4s FieldSerializer throws ScalaSig exception if used with TypeTag
Exception in thread "main" org.json4s.package$MappingException: Can't find ScalaSig for class java.lang.ClassLoader
at org.json4s.reflect.package$.fail(package.scala:95)
at org.json4s.reflect.ScalaSigReader$.$anonfun$findClass$1(ScalaSigReader.scala:59)
at scala.Option.getOrElse(Option.scala:121)
at org.json4s.reflect.ScalaSigReader$.findClass(ScalaSigReader.scala:59)
at org.json4s.reflect.ScalaSigReader$.findField(ScalaSigReader.scala:106)
at org.json4s.reflect.ScalaSigReader$.read$1(ScalaSigReader.scala:50)
at org.json4s.reflect.ScalaSigReader$.readField(ScalaSigReader.scala:55)
at org.json4s.reflect.Reflector$ClassDescriptorBuilder.$anonfun$fields$3(Reflector.scala:69)
at scala.collection.TraversableLike.$anonfun$map$1(TraversableLike.scala:234)
import javax.ws.rs.Path
import akka.actor.ActorSystem
import akka.http.scaladsl.Http
import akka.http.scaladsl.model.StatusCodes
import akka.http.scaladsl.server.{Directives, Route}
import akka.stream.ActorMaterializer
import com.github.swagger.akka.model.Info
import com.github.swagger.akka.{HasActorSystem, SwaggerHttpService}
import com.myapp.tm.ExtendedJsonUtilities
@yadavan88
yadavan88 / NamespacedCodegen.scala
Last active August 29, 2015 14:07 — forked from skinner/NamespacedCodegen.scala
The available code from @skinner was for Slick 2.0(not using scala 2.11). From scala 2.11, some of the core libraries were moved out. So the code will not work with 2.11 scala. Also, added column name customization and case class/mapping class name customization as well.
package demo
import scala.slick.jdbc.meta.{MTable, createModel}
import scala.reflect.runtime.currentMirror
import java.io.File
import java.io.FileWriter
import scala.slick.codegen.SourceCodeGenerator
import scala.slick.driver.JdbcProfile
// NamespacedCodegen handles tables within schemas by namespacing them