mirror of
https://github.com/ets-labs/python-dependency-injector.git
synced 2025-02-27 09:00:38 +03:00
Add examples and docs
This commit is contained in:
parent
929e97c232
commit
250c61ebef
|
@ -23,4 +23,5 @@ Containers module API docs - :py:mod:`dependency_injector.containers`.
|
|||
dynamic
|
||||
specialization
|
||||
overriding
|
||||
reset_singletons
|
||||
traversal
|
||||
|
|
19
docs/containers/reset_singletons.rst
Normal file
19
docs/containers/reset_singletons.rst
Normal file
|
@ -0,0 +1,19 @@
|
|||
Reset container singletons
|
||||
--------------------------
|
||||
|
||||
To reset all container singletons use method ``.reset_singletons()``.
|
||||
|
||||
.. literalinclude:: ../../examples/containers/reset_singletons.py
|
||||
:language: python
|
||||
:lines: 3-
|
||||
:emphasize-lines: 16
|
||||
|
||||
Method ``.reset_singletons()`` also resets singletons in sub-containers: ``providers.Container`` and
|
||||
``providers.DependenciesContainer.``
|
||||
|
||||
.. literalinclude:: ../../examples/containers/reset_singletons_subcontainers.py
|
||||
:language: python
|
||||
:lines: 3-
|
||||
:emphasize-lines: 21
|
||||
|
||||
.. disqus::
|
21
examples/containers/reset_singletons.py
Normal file
21
examples/containers/reset_singletons.py
Normal file
|
@ -0,0 +1,21 @@
|
|||
"""Container reset singletons example."""
|
||||
|
||||
from dependency_injector import containers, providers
|
||||
|
||||
|
||||
class Container(containers.DeclarativeContainer):
|
||||
|
||||
service1 = providers.Singleton(object)
|
||||
service2 = providers.Singleton(object)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
container = Container()
|
||||
|
||||
service1 = container.service1()
|
||||
service2 = container.service2()
|
||||
|
||||
container.reset_singletons()
|
||||
|
||||
assert service1 is not container.service1()
|
||||
assert service2 is not container.service2()
|
26
examples/containers/reset_singletons_subcontainers.py
Normal file
26
examples/containers/reset_singletons_subcontainers.py
Normal file
|
@ -0,0 +1,26 @@
|
|||
"""Container reset singletons in subcontainer example."""
|
||||
|
||||
from dependency_injector import containers, providers
|
||||
|
||||
|
||||
class SubContainer(containers.DeclarativeContainer):
|
||||
|
||||
service = providers.Singleton(object)
|
||||
|
||||
|
||||
class Container(containers.DeclarativeContainer):
|
||||
|
||||
service = providers.Singleton(object)
|
||||
sub = providers.Container(SubContainer)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
container = Container()
|
||||
|
||||
service1 = container.service()
|
||||
service2 = container.sub().service()
|
||||
|
||||
container.reset_singletons()
|
||||
|
||||
assert service1 is not container.service()
|
||||
assert service2 is not container.sub().service()
|
Loading…
Reference in New Issue
Block a user