aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/com/drivergrp/core/package.scala
blob: 3c19431f4d526d4b100623f2d75698db12ea4628 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
package com.drivergrp


package object core {
  import scala.language.reflectiveCalls

  def make[T](v: => T)(f: T => Unit): T = {
    val value = v; f(value); value
  }

  def using[R <: { def close() }, P](r: => R)(f: R => P): P = {
    val resource = r
    try {
      f(resource)
    } finally {
      resource.close()
    }
  }
}