Skip to content

Commit dc9e155

Browse files
authored
Merge pull request #35 from scala-exercises/eval-34-upgrade-cats-and-circe-versions
Eval-34 Upgrade Dependency Versions
2 parents 5f8e7f0 + edd05a3 commit dc9e155

File tree

4 files changed

+24
-23
lines changed

4 files changed

+24
-23
lines changed

client/shared/src/main/scala/org/scalaexercises/evaluator/EvaluatorClient.scala

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@
55

66
package org.scalaexercises.evaluator
77

8-
import cats.data.XorT
8+
import cats.data.EitherT
99
import cats.~>
10-
import cats._, cats.std.all._
10+
import cats.implicits._
1111
import org.scalaexercises.evaluator.EvaluatorResponses.{EvalIO, EvaluationException, EvaluationResponse, EvaluationResult}
1212
import org.scalaexercises.evaluator.free.algebra.EvaluatorOp
1313

@@ -25,15 +25,17 @@ object EvaluatorClient {
2525
def apply(url: String, authKey: String) =
2626
new EvaluatorClient(url, authKey)
2727

28-
implicit class EvaluationIOSyntaxXOR[A](
28+
implicit class EvaluationIOSyntaxEither[A](
2929
evalIO: EvalIO[EvaluationResponse[A]]) {
3030

3131
def exec(
3232
implicit I: (EvaluatorOp ~> Future)): Future[EvaluationResponse[A]] =
3333
evalIO foldMap I
3434

35-
def liftEvaluator: XorT[EvalIO, EvaluationException, EvaluationResult[A]] =
36-
XorT[EvalIO, EvaluationException, EvaluationResult[A]](evalIO)
35+
def liftEvaluator: EitherT[EvalIO,
36+
EvaluationException,
37+
EvaluationResult[A]] =
38+
EitherT[EvalIO, EvaluationException, EvaluationResult[A]](evalIO)
3739

3840
}
3941
}

client/shared/src/main/scala/org/scalaexercises/evaluator/EvaluatorResponses.scala

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ package org.scalaexercises.evaluator
77

88
import cats.data.Xor
99
import cats.free.Free
10-
import cats.syntax.xor._
10+
import cats.implicits._
1111
import io.circe.Decoder
1212
import io.circe.parser._
1313
import io.circe.generic.auto._
@@ -23,7 +23,7 @@ object EvaluatorResponses {
2323

2424
type EvalIO[A] = Free[EvaluatorOp, A]
2525

26-
type EvaluationResponse[A] = EvaluationException Xor EvaluationResult[A]
26+
type EvaluationResponse[A] = Either[EvaluationException, EvaluationResult[A]]
2727

2828
case class EvaluationResult[A](result: A,
2929
statusCode: Int,
@@ -44,18 +44,17 @@ object EvaluatorResponses {
4444
implicit D: Decoder[A]): Future[EvaluationResponse[A]] =
4545
futureResponse map {
4646
case r if isSuccess(r.statusCode)
47-
decode[A](r.body).fold(
48-
e
49-
JsonParsingException(e.getMessage, r.body)
50-
.left[EvaluationResult[A]],
51-
result
52-
Xor.Right(
47+
decode[A](r.body) match {
48+
case Xor.Left(e) =>
49+
Either.left(JsonParsingException(e.getMessage, r.body))
50+
case Xor.Right(result) =>
51+
Either.right(
5352
EvaluationResult(result, r.statusCode, r.headers.toLowerCase))
54-
)
53+
}
5554
case r
56-
UnexpectedException(
57-
s"Failed invoking get with status : ${r.statusCode}, body : \n ${r.body}")
58-
.left[EvaluationResult[A]]
55+
Either.left(
56+
UnexpectedException(
57+
s"Failed i(nvoking get with status : ${r.statusCode}, body : \n ${r.body}"))
5958
}
6059

6160
private[this] def isSuccess(statusCode: Int) =

project/EvaluatorBuild.scala

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,14 @@ object EvaluatorBuild extends AutoPlugin {
1515
object autoImport {
1616

1717
val v = Map(
18-
'cats -> "0.6.1",
19-
'circe -> "0.5.0-M2",
18+
'cats -> "0.7.2",
19+
'circe -> "0.5.2",
2020
'config -> "1.3.0",
2121
'coursier -> "1.0.0-M12",
22-
'http4s -> "0.14.1",
22+
'http4s -> "0.14.8",
2323
'jwtcore -> "0.8.0",
2424
'log4s -> "1.3.0",
25-
'monix -> "2.0-RC8",
25+
'monix -> "2.0.3",
2626
'roshttp -> "1.1.0",
2727
'scalacheck -> "1.12.5",
2828
'scalaTest -> "2.2.6",
@@ -50,7 +50,7 @@ object EvaluatorBuild extends AutoPlugin {
5050

5151

5252
private[this] def baseSettings = Seq(
53-
version := "0.1.0-SNAPSHOT",
53+
version := "0.1.1-SNAPSHOT",
5454
organization := "org.scala-exercises",
5555
scalaVersion := "2.11.8",
5656
scalafmtConfig in ThisBuild := Some(file(".scalafmt")),

server/src/main/scala/org/scalaexercises/evaluator/evaluation.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -183,7 +183,7 @@ private class StringCompiler(
183183
}
184184
messages += (severityName + lineMessage + ": " + message) ::
185185
(if (pos.isDefined) {
186-
pos.inUltimateSource(pos.source).lineContent.stripLineEnd ::
186+
pos.finalPosition.lineContent.stripLineEnd ::
187187
(" " * (pos.column - 1) + "^") ::
188188
Nil
189189
} else {

0 commit comments

Comments
 (0)