Add Selector provider example

This commit is contained in:
Roman Mogylatov 2020-06-29 13:12:10 -04:00
parent a4b38f9c83
commit 405358bd04

View File

@ -0,0 +1,28 @@
"""`Selector` provider example."""
from dependency_injector import providers
class SomeClass:
...
class SomeOtherClass:
...
config = providers.Configuration()
selector = providers.Selector(
config.one_or_another,
one=providers.Factory(SomeClass),
another=providers.Factory(SomeOtherClass),
)
config.override({'one_or_another': 'one'})
some_instance_1 = selector()
assert isinstance(some_instance_1, SomeClass)
config.override({'one_or_another': 'another'})
some_instance_2 = selector()
assert isinstance(some_instance_2, SomeOtherClass)