Skip to content

Instantly share code, notes, and snippets.

View bmitioglov's full-sized avatar
😀
it's fine

Boris Mitioglov bmitioglov

😀
it's fine
  • Epam
  • San Diego CA
View GitHub Profile
@mandubian
mandubian / CODE.scala
Last active September 30, 2021 20:03 — forked from playxamplez-admin/CODE
#Json #Reads/#Writes for a sealed #trait & inheriting caseclasses without type indication in Json #Play2.1
import play.api.libs.json._
import play.api.libs.functional.syntax._
sealed trait Shape
case class Circle(c: (Float, Float), r: Float) extends Shape
object Circle {
// reader is covariant and can be implicit in inheriting caseclasses
implicit val reader = Json.reads[Circle]
// writer is contravariant and can't be implicit in inheriting caseclasses
var mediaJSON = { "categories" : [ { "name" : "Movies",
"videos" : [
{ "description" : "Big Buck Bunny tells the story of a giant rabbit with a heart bigger than himself. When one sunny day three rodents rudely harass him, something snaps... and the rabbit ain't no bunny anymore! In the typical cartoon tradition he prepares the nasty rodents a comical revenge.\n\nLicensed under the Creative Commons Attribution license\nhttp://www.bigbuckbunny.org",
"sources" : [ "http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4" ],
"subtitle" : "By Blender Foundation",
"thumb" : "images/BigBuckBunny.jpg",
"title" : "Big Buck Bunny"
},
{ "description" : "The first Blender Open Movie from 2006",
"sources" : [ "http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/ElephantsDream.mp4" ],