Recent Releases of https://github.com/dry-rb/dry-container
https://github.com/dry-rb/dry-container - v0.11.0
Changed
- dry-configurable will be used whenever it is in the $LOAD_PATH (see dry-rb/dry-system#247 for more context) (@solnic)
- Ruby
Published by dry-bot over 3 years ago
https://github.com/dry-rb/dry-container - v0.10.1
Changed
- Make
DidYouMeanintegration optional (via #86) (@jbourassa)
- Ruby
Published by dry-bot over 3 years ago
https://github.com/dry-rb/dry-container - v0.10.0
⚠️ Notice that dry-container no longer depends on dry-configurable. If you happen to rely on the advanced configurable functionality, add dry-configurable as a dependency and require it before requiring dry-container.
Added
- Accept block given to
#merge(via #83) (@timriley)
Changed
- [BREAKING] Replace dep on dry-configurable with a simple
Configurationmod (see #84 for more details) (@solnic) - Raise KeyError for missing key, with DidYouMean integration (via #82) (@cllns)
- Wrap FrozenError, to state that the container itself is frozen (see #74) (@cllns)
- Ruby
Published by dry-bot over 3 years ago
https://github.com/dry-rb/dry-container - v0.9.0
Changed
- [internal] Upgraded to new
settingAPI provided in dry-configurable 0.13.0 (@timriley in #77)
- Ruby
Published by dry-bot over 4 years ago
https://github.com/dry-rb/dry-container - v0.8.0
Changed
- [BREAKING] Support for 2.4 and 2.5 was dropped
- Ruby
Published by dry-bot over 4 years ago
https://github.com/dry-rb/dry-container -
v0.7.2 - 2019-07-09
Added
.resolveaccepts an optional fallback block, similar to howHash#fetchworks (flash-gordon)container.resolve('missing_key') { :fallback } # => :fallback.decoratecan (again) work with static values. Also, it can take a block instead ofwith(flash-gordon)container.register('key', 'value') container.decorate('key') { |v| "<'#{v}'>" } container.resolve('key') # => "<'value'>"
- Ruby
Published by flash-gordon over 6 years ago
https://github.com/dry-rb/dry-container -
v0.7.1 - 2019-06-07
Fixed
- Added
Mixin#dupandMixin#clone, now copies don't share underlying containers (flash-gordon)
- Ruby
Published by flash-gordon over 6 years ago
https://github.com/dry-rb/dry-container -
v0.7.0 - 2019-02-05
Changed
- [BREAKING] Now only Ruby 2.3 and above is supported (flash-gordon)
Fixed
-
Symbols are now coerced to strings when resolving stubbed dependencies (cthulhu666)
-
Stubbing keys not present in container will raise an error (flash-gordon)
This means after upgrading you may see errors like this
ArgumentError (cannot stub "something" - no such key in container)Be sure you register dependencies before using them. The new behavior will likely save quite a bit of time when debugging ill-configured container setups.
Added
-
Namespace DSL resolves keys relative to the current namespace, see the corresponding changes (yuszuv)
-
Registered objects can be decorated with the following API (igor-alexandrov)
class CreateUser def call(params) # ... end end container.register('create_user') { CreateUser.new } container.decorate('create_user', with: ShinyLogger.new) # Now subsequent resolutions will return a wrapped object container.resolve('create_user') # => #<ShinyLogger @obj=#<CreateUser:0x...>]> -
Freezing a container now prevents further registrations (flash-gordon)
Internal
- Handling container items was generalized in #34 (GabrielMalakias)
- Ruby
Published by flash-gordon about 7 years ago