All Versions
14
Latest Version
Avg Release Cycle
173 days
Latest Release
1424 days ago
Changelog History
Page 2
Changelog History
Page 2
-
v0.4 Changes
June 22, 2014Constrictor injection with
injected
macros. Here is an example if it's usage:bind [Users] to injected [UserService]
.👍 Only Scala version 2.11 is supported from now on (mostly because of the macros)
Conditions are now composed together with and if applied several times for the same binding with
when
block:when (inDevMode or inTestMode) { bind [Database] to new Riak bind [PaymentService] to new MockPaymentService }
-
v0.3.2 Changes
April 24, 2014- 🛠 Minor bugfix in raw property injector
-
v0.3.1 Changes
April 23, 2014- ➕ Added support for scala 2.11 (cross-compiling with 2.10 and 2.11)
Small clean-up of
Injectable
- Dropped several
inject
method overloads in order to make it work with 2.11. In most cases you will not notice any difference. If you are using vararg version ofinject
that takes the seq of identifies as an argument, then you need to rewrite it with standardinject
DSL and useand
to provide several identifiers. Here is an example: ``` // don't work anymore inject [Database] ('local, 'db)
// use this syntax instead inject [Database] ('local and 'db)
// or this one inject [Database] (identified by 'local and 'db)
* Dropped `injectWithDefault` in favour of existing `inject` DSL. So if you want to provide a default for the binding, then please use this syntax instead:
inject [Database] (by default new Riak)
- Dropped several
-
v0.3 Changes
March 02, 2014- 🔧 GroupId is changed to
org.scaldi
. So if you want to include it in the project, you need to use following configuration now:libraryDependencies += "org.scaldi" %% "scaldi" % "0.3"
- Using Scala 2.10 reflection API under the hood. This will allow to bind and inject things like lists and functions by type. For example: ``` bind [(Int, Int) => Int] to ((a: Int, b: Int) => a + b) bind [List[Int]] to List(1, 2, 3)
val adder = inject [(Int, Int) => Int] val ints = inject [List[Int]]
* ⚡️ Updated SBT build to 0.13.1 * Now you can also use `injectProvider` instead of `inject`. It will give back a function `() => T`, which you can use to inject value elsewhere. It can be useful for provider bindings (which are creating new instances each time you inject them) or conditional binding which also can give different objects each time you inject. * 🚚 `CreationHelper` utility object is removed. * ➕ Added binding lifecycle. Now you can add `initWith` and `destroyWith` functions to the bindings:
bind [Server] to new LifecycleServer initWith (.init()) destroyWith (.terminate())
Mutable `Injector`s also got `destroy` method which you can call explicitly or, if you forgot to do this, it would be called on JVM shutdown automatically. * `inject` will now make sure during the compilation time, that provided binding class is inferred correctly (in other words it's not `Nothing`)
- 🔧 GroupId is changed to