package util

import com.google.inject.{Guice, Injector}
import util.InjectionModules.Modules
import net.codingwell.scalaguice.InjectorExtensions._
import scala.reflect.ClassTag

trait Injecting {
  val injector: Injector = Injecting.injector

  def inject[T: Manifest]: T = {
    injector.instance[T]
  }
}

object Injecting {
  val injector = Guice.createInjector(Modules)
}
package util

import java.lang.annotation.Annotation

import com.google.inject.{Guice, Injector}
import net.codingwell.scalaguice.InjectorExtensions._
import util.InjectionModules.Modules

trait Injecting {
  val injector: Injector = Injecting.injector

  def inject[T: Manifest]: T = {
    injector.instance[T]
  }

  def inject[T: Manifest](ann: Annotation): T = {
    injector.instance[T](ann)
  }
}

object Injecting {
  val injector = Guice.createInjector(Modules)
}
Add helper method 'inject' for ability to inject with annotations
Add helper method 'inject' for ability to inject with annotations
