Comments (3)
I'm not sure I completely understand what you're trying to do, but it looks like something like this would work:
gemfile(true) { gem 'dry-container' }
# This won't be necessary in your example
Container = Dry::Container.new
# Before calling the `register!` methods, register a default value
# for 'foo.bars' with the `memoize` option set to false
Container.register('foo.bars', [], memoize: false)
module Foo
class Bar
def self.register!
Container.register('foo.bar', Foo::Bar)
Container['foo.bars'] << Foo::Bar
end
end
class Bar2
def self.register!
Container.register('foo.bar2', Foo::Bar2)
Container['foo.bars'] << Foo::Bar2
end
end
end
Foo::Bar.register!
Foo::Bar2.register!
# Commented out as not using dry-system
# Container.finalize!
Container['foo.bars']
# => [Foo::Bar, Foo::Bar2]
from dry-container.
Ah that totally makes sense. I for some reason assumed references were immutable. Thanks!
from dry-container.
NP 😄
from dry-container.
Related Issues (20)
- Travis build fails on rbx-2
- Including mixin into a class with initializer doesn't work HOT 1
- Custom resolver using lambda seems not to conform to the resolver interface. HOT 7
- What do think about introduction of interceptors for instantiated services? HOT 12
- set default memoization for container HOT 1
- Proposal: Meta information for container objects HOT 5
- Stubbing non-existant container values HOT 1
- Simple resolver customization causing errors HOT 1
- Freeze a Container?
- Reseting registry when testing HOT 1
- Container#dup should dup the underlying _container
- Add ability to iterate over items registered in a namespace HOT 8
- Test failures HOT 1
- Problems with ActiveSupport tagged logging HOT 2
- Fix incorrect version listed in docs HOT 10
- Cannot install 0.8.0 in JRuby HOT 14
- Getting an `ArgumentError` missing keywords on Ruby 3 HOT 2
- Getting an `ArgumentError` missing keywords on Ruby 2.7.3 HOT 5
- After updating to rails 7 , getting this error HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from dry-container.