Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 5565636

Browse files
Return a try type
1 parent c331468 commit 5565636

File tree

2 files changed

+25
-4
lines changed

2 files changed

+25
-4
lines changed
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
package com.colisweb.jrubyscaladistances
2+
3+
import com.colisweb.distances.TravelMode
4+
5+
object DistanceTravelMode {
6+
7+
def drivingMode: TravelMode = TravelMode.Driving
8+
def bicyclingMode: TravelMode = TravelMode.Bicycling
9+
def walkingMode: TravelMode = TravelMode.Walking
10+
def transitMode: TravelMode = TravelMode.Transit
11+
def unknownMode: TravelMode = TravelMode.Unknown
12+
13+
}

src/main/scala/com/colisweb/jrubyscaladistances/JRubyScalaDistance.scala

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ import org.slf4j.LoggerFactory
1616

1717
import scala.concurrent.ExecutionContext
1818
import scala.concurrent.duration.{Duration, FiniteDuration}
19+
import scala.util.Try
1920

2021
final class JRubyScalaDistance(googleApiConfig: GoogleApiConfiguration, redisConfig: RedisConfiguration) {
2122

@@ -47,17 +48,24 @@ final class JRubyScalaDistance(googleApiConfig: GoogleApiConfiguration, redisCon
4748
)
4849
}
4950

50-
def getDrivingDistance(
51+
def getDistance(
5152
origin: LatLong,
5253
destination: LatLong,
53-
travelMode: TravelMode = TravelMode.Driving
54-
): Either[GoogleDistanceProviderError, Types.Distance] = {
54+
travelMode: TravelMode
55+
): Try[Types.Distance] = {
5556

5657
distanceApi
5758
.distance(origin, destination, List(travelMode))
5859
.unsafeRunSync()
59-
.getOrElse(travelMode, throw new RuntimeException("Unknown travelMode exception happened"))
60+
.getOrElse(travelMode, Left(new RuntimeException("Unknown travelMode exception happened")))
61+
.toTry
6062
}
63+
64+
def getDrivingDistance(
65+
origin: LatLong,
66+
destination: LatLong
67+
): Try[Types.Distance] = getDistance(origin, destination, TravelMode.Driving)
68+
6169
}
6270

6371
object JRubyScalaDistance {

0 commit comments

Comments
 (0)