Bläddra i källkod

Add writing capabilities

theenglishway (time) 2 år sedan
förälder
incheckning
67bf8e8361
3 ändrade filer med 12 tillägg och 2 borttagningar
  1. 7 0
      src/main/scala/BallDontLie.scala
  2. 2 2
      src/main/scala/Games.scala
  3. 3 0
      src/main/scala/main.worksheet.sc

+ 7 - 0
src/main/scala/BallDontLie.scala

@@ -2,6 +2,7 @@ package balldontlie
 
 import upickle.default._
 import game._
+import os.Path
 
 case class ResponseMetadata(
     total_pages: Int,
@@ -28,6 +29,12 @@ object Utils {
     val json = ujson.read(r.text())
     upickle.default.read[T](json)
   }
+
+  def writeToFile[T: Writer](data: T, file: Path): Unit = {
+    val string = upickle.default.write[T](data, indent = 4)
+
+    os.write.over(file, string)
+  }
 }
 
 case class EndpointResponse[T](data: T, meta: ResponseMetadata) {

+ 2 - 2
src/main/scala/Games.scala

@@ -12,7 +12,7 @@ case class Team(
     name: String
 )
 object Team {
-  implicit val teamR: Reader[Team] = macroR[Team]
+  implicit val teamRW: ReadWriter[Team] = macroRW[Team]
 }
 
 case class GameData(
@@ -28,5 +28,5 @@ case class GameData(
     date: String
 )
 object GameData {
-  implicit val gameDataR: Reader[GameData] = macroR[GameData]
+  implicit val gameDataRW: ReadWriter[GameData] = macroRW[GameData]
 }

+ 3 - 0
src/main/scala/main.worksheet.sc

@@ -18,3 +18,6 @@ val p = Player(
 val response = EndpointResponse.getTeams()
 
 List(1, 2, 3).mkString(",")
+
+Utils.writeToFile(list_games.sortBy(_.id), os.pwd / "game_data.json")
+Utils.writeToFile(response.sortBy(_.id), os.pwd / "teams_data.json")