Skip to content

Instantly share code, notes, and snippets.

@ahoy-jon
Created October 31, 2018 10:00
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ahoy-jon/aa0b83ec292e83348af7efb4658dbe6c to your computer and use it in GitHub Desktop.
Save ahoy-jon/aa0b83ec292e83348af7efb4658dbe6c to your computer and use it in GitHub Desktop.
package testMacWire
import com.softwaremill.macwire._
class DatabaseAccess()
class SecurityFilter()
class UserFinder(databaseAccess: DatabaseAccess, securityFilter: SecurityFilter)
class UserStatusReader(userFinder: UserFinder)
class UserModule () {
lazy val theDatabaseAccess = wire[DatabaseAccess]
lazy val theSecurityFilter = wire[SecurityFilter]
lazy val theUserFinder = wire[UserFinder]
lazy val theUserStatusReader = wire[UserStatusReader]
}
class UserAccess(finder: UserFinder)
trait UserAccessModule {
protected val userModule:UserModule
def userAccess:UserAccess = {
import userModule._
wire[UserAccess]
}
}
class UserAccessModuleImpl(val userModule:UserModule)
object UserModule {
lazy val userAccess = wire[UserAccessModuleImpl] //
lazy val userModule = wire[UserModule]//wire[UserModule]
def main(args: Array[String]): Unit = {
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment