Skip to content

Commit

Permalink
Update smetrics to 0.4.2, cats-helper to 2.11.0 (#208)
Browse files Browse the repository at this point in the history
  • Loading branch information
i-surkov committed Jun 7, 2023
1 parent d3211f3 commit bb2e1da
Show file tree
Hide file tree
Showing 5 changed files with 31 additions and 10 deletions.
4 changes: 2 additions & 2 deletions project/Dependencies.scala
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ import sbt._
object Dependencies {

val scalatest = "org.scalatest" %% "scalatest" % "3.2.3"
val `cats-helper` = "com.evolutiongaming" %% "cats-helper" % "2.8.0"
val smetrics = "com.evolutiongaming" %% "smetrics" % "0.3.6"
val `cats-helper` = "com.evolutiongaming" %% "cats-helper" % "2.11.0"
val smetrics = "com.evolutiongaming" %% "smetrics" % "0.4.2"
val `kind-projector` = "org.typelevel" % "kind-projector" % "0.13.2"
val betterMonadicFor = "com.olegpy" %% "better-monadic-for" % "0.3.1"

Expand Down
17 changes: 14 additions & 3 deletions src/main/scala/com/evolution/scache/Cache.scala
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ import cats.syntax.all._
import cats.kernel.{CommutativeMonoid, Hash, Monoid}
import cats.{Functor, Monad, MonadThrow, Parallel, ~>}
import com.evolutiongaming.catshelper.CatsHelper._
import com.evolutiongaming.catshelper.Runtime
import com.evolutiongaming.smetrics.MeasureDuration
import com.evolutiongaming.catshelper.{MeasureDuration, Runtime}
import com.evolutiongaming.smetrics

import scala.util.control.NoStackTrace

Expand Down Expand Up @@ -638,13 +638,24 @@ object Cache {

implicit class CacheOps[F[_], K, V](val self: Cache[F, K, V]) extends AnyVal {

@deprecated("use `withMetrics1` instead", "3.7.1")
def withMetrics(
metrics: CacheMetrics[F])(implicit
F: Concurrent[F],
timer: Timer[F],
measureDuration: smetrics.MeasureDuration[F]
): Resource[F, Cache[F, K, V]] = {
implicit val md: MeasureDuration[F] = measureDuration.toCatsHelper
withMetrics1(metrics)
}

def withMetrics1(
metrics: CacheMetrics[F])(implicit
F: Concurrent[F],
temporal: Timer[F],
measureDuration: MeasureDuration[F]
): Resource[F, Cache[F, K, V]] = {
CacheMetered(self, metrics)
CacheMetered.apply1(self, metrics)
}

def mapK[G[_]](fg: F ~> G, gf: G ~> F)(implicit F: Functor[F]): Cache[G, K, V] = {
Expand Down
16 changes: 13 additions & 3 deletions src/main/scala/com/evolution/scache/CacheMetered.scala
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,24 @@ package com.evolution.scache
import cats.effect.{Concurrent, Resource, Timer}
import cats.kernel.CommutativeMonoid
import cats.syntax.all._
import com.evolutiongaming.catshelper.Schedule
import com.evolutiongaming.smetrics.MeasureDuration
import com.evolutiongaming.catshelper.{MeasureDuration, Schedule}
import com.evolutiongaming.smetrics

import scala.concurrent.duration._

object CacheMetered {

def apply[F[_]: MeasureDuration: Concurrent: Timer, K, V](
@deprecated("Use `apply1` instead", "3.7.1")
def apply[F[_]: smetrics.MeasureDuration: Concurrent: Timer, K, V](
cache: Cache[F, K, V],
metrics: CacheMetrics[F],
interval: FiniteDuration = 1.minute
): Resource[F, Cache[F, K, V]] = {
implicit val md: MeasureDuration[F] = smetrics.MeasureDuration[F].toCatsHelper
apply1(cache, metrics, interval)
}

def apply1[F[_]: MeasureDuration: Concurrent: Timer, K, V](
cache: Cache[F, K, V],
metrics: CacheMetrics[F],
interval: FiniteDuration = 1.minute
Expand Down
2 changes: 1 addition & 1 deletion src/test/scala/com/evolution/scache/CacheSpec.scala
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ class CacheSpec extends AsyncFunSuite with Matchers {
for {
cache <- cache0
metrics <- CacheMetricsProbe.of.toResource
cache <- cache.withMetrics(metrics)
cache <- cache.withMetrics1(metrics)
cache <- cache.withFence
} yield (cache, metrics)

Expand Down
2 changes: 1 addition & 1 deletion src/test/scala/com/evolution/scache/IOSuite.scala
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ package com.evolution.scache

import cats.Parallel
import cats.effect.{Clock, Concurrent, ContextShift, IO, Timer}
import com.evolutiongaming.smetrics.MeasureDuration
import com.evolutiongaming.catshelper.MeasureDuration
import org.scalactic.source.Position
import org.scalatest.Succeeded
import org.scalatest.enablers.Retrying
Expand Down

0 comments on commit bb2e1da

Please sign in to comment.