mirror of
https://github.com/ets-labs/python-dependency-injector.git
synced 2025-02-16 19:40:59 +03:00
Restore Callable positional & keyword argument injections via __init__(*args, **kwargs)
This commit is contained in:
parent
a0b8b11a91
commit
44d0555778
|
@ -26,7 +26,7 @@ class Callable(Provider):
|
|||
|
||||
__slots__ = ('_provides', '_args', '_kwargs')
|
||||
|
||||
def __init__(self, provides):
|
||||
def __init__(self, provides, *args, **kwargs):
|
||||
"""Initializer.
|
||||
|
||||
:param provides: Wrapped callable.
|
||||
|
@ -42,6 +42,9 @@ class Callable(Provider):
|
|||
self._args = tuple()
|
||||
self._kwargs = tuple()
|
||||
|
||||
self.args(*args)
|
||||
self.kwargs(**kwargs)
|
||||
|
||||
super(Callable, self).__init__()
|
||||
|
||||
@property
|
||||
|
|
|
@ -49,7 +49,7 @@ class Factory(Callable):
|
|||
|
||||
__slots__ = ('cls', '_attributes')
|
||||
|
||||
def __init__(self, provides):
|
||||
def __init__(self, provides, *args, **kwargs):
|
||||
"""Initializer.
|
||||
|
||||
:param provides: Class or other callable that provides object
|
||||
|
@ -63,7 +63,7 @@ class Factory(Callable):
|
|||
|
||||
self._attributes = tuple()
|
||||
|
||||
super(Factory, self).__init__(provides)
|
||||
super(Factory, self).__init__(provides, *args, **kwargs)
|
||||
|
||||
self.cls = self._provides
|
||||
|
||||
|
@ -174,7 +174,7 @@ class Singleton(Factory):
|
|||
|
||||
__slots__ = ('_instance',)
|
||||
|
||||
def __init__(self, provides):
|
||||
def __init__(self, provides, *args, **kwargs):
|
||||
"""Initializer.
|
||||
|
||||
:param provides: Class or other callable that provides object
|
||||
|
@ -182,7 +182,7 @@ class Singleton(Factory):
|
|||
:type provides: type | callable
|
||||
"""
|
||||
self._instance = None
|
||||
super(Singleton, self).__init__(provides)
|
||||
super(Singleton, self).__init__(provides, *args, **kwargs)
|
||||
|
||||
def reset(self):
|
||||
"""Reset cached instance, if any.
|
||||
|
|
Loading…
Reference in New Issue
Block a user